Perl Padre给出了一条关于一条没有';不存在

Perl Padre给出了一条关于一条没有';不存在,perl,padre,Perl,Padre,我有一个在Windows上运行正常的程序,命令提示符中有“perl program.pl”或“perl program.pl file1.txt file2.txt” 使用严格; 使用警告; 打印“有”,标量(@ARGV),“传递到此程序的参数\n”; 如果(标量(@ARGV)>1) { 打印“第一个参数:$ARGV[0]\n”; 打印“第二个参数:$ARGV[1]\n”; } 子进程\u文件($) { 我的$filename=shift; 打印“将处理文件$filename\n”; #打开(输

我有一个在Windows上运行正常的程序,命令提示符中有“perl program.pl”或“perl program.pl file1.txt file2.txt”

使用严格;
使用警告;
打印“有”,标量(@ARGV),“传递到此程序的参数\n”;
如果(标量(@ARGV)>1)
{
打印“第一个参数:$ARGV[0]\n”;
打印“第二个参数:$ARGV[1]\n”;
}
子进程\u文件($)
{
我的$filename=shift;
打印“将处理文件$filename\n”;

#打开(输入文件),"我用
代替
|
打开
。作为旁白,我一直被告知应该使用
打开
的三参数形式。我知道Perl并不总是引用有问题的行。当然,我想当然地认为注释掉的行就是questi中的行您不应该使用原型(子名称后面的
($)
部分),除非您知道它们的用途(我猜您不知道)。只需使用
子进程文件{…}
。我最初得到的错误是没有注释掉的,但即使注释掉了行,我仍然会得到错误。我将尝试完全重新启动计算机,看看是否仍然得到这个错误。按住按钮。在重新启动之前,我用注释掉的行替换了| |,或者在注释掉的行上替换了| |,我没有得到错误。当我将| |放回时或者在注释中,我又得到了错误。在命令行中,无论哪种方式都不会出错。看来这是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");     
}