2012-09-04 25 views
1

我有这个程序,在命令提示符或“perl program.pl file1.txt file2.txt”中使用“perl program.pl”在Windows上运行OK。Padre给出关于不存在的行的错误消息

use strict; 
use warnings; 

print "there were ",scalar(@ARGV), " arguments passed to this program\n"; 
if (scalar(@ARGV) > 1) 
{ 
    print "First Argument: $ARGV[0]\n"; 
    print "Second Argument: $ARGV[1]\n"; 
} 


sub process_file($) 
{ 
     my $filename = shift; 
     print "will process file $filename\n"; 
     #open(INPUT_FILE,"<$filename") || die("could not open $filename");  
} 

即使退出和回来到神父后,我得到这个对话框,当我去运行它(如果我点击Yes按钮,将仍然运行正常):

警告X线31:使用| char在没有|的情况下打开在开头 或结束通常是一个错字。你想继续吗?

[YES] [NO]

+0

你不应该使用原型(你的子名称后面的'($)'部分),除非你知道它们是什么(我猜你没有)。只需使用'sub process_file {...}'。 – TLP

回答

2

我使用or代替||open。顺便说一句,我总是被告知open的三个参数形式是应该使用的。我知道Perl并不总是引用有问题的行。当然,我认为理所当然的是,被评论的线是问题线,并且您将其评论为测试?

+0

我最初得到了错误,但没有注释掉,但即使在注释掉的情况下,我仍然收到错误。我会尝试彻底重启电脑,看看我是否仍然可以得到这个。 – Scooter

+0

拿着印刷机。在重新启动之前,我替换了||与注释或外线,我没有得到的错误。当我把||回来,而不是或在 - 注释掉 - 我再次得到错误。而且我也不会在命令行中看到错误。似乎这将意味着这是Padre中的错误。无论如何,我会考虑解决方案 - 使用“或”而不是“||”。谢谢! – Scooter