Perl脚本在Perl v5.20中给出了语法错误,但在v5.10中没有

时间:2017-06-05 15:17:22

标签: perl

我有一个程序,使用Perl版本5.10.1已经运行了很长时间。

我现在需要在版本5.20.2上运行它,因为它是可用的,我需要一个64位环境。

问题是在Perl v5.20下这行失败了

process_command_line("dummy");

出现此错误

line 16: syntax error near unexpected token `"dummy"'  
line 16: `process_command_line("dummy");'  

为什么我收到此错误?

1 个答案:

答案 0 :(得分:4)

您正在使用sh(或类似代码)而不是perl执行Perl脚本。使用perl执行Perl脚本。

$ cat a.pl
process_command_line("dummy");

$ sh a.pl
a.pl: line 1: syntax error near unexpected token `"dummy"'
a.pl: line 1: `process_command_line("dummy");'

$ perl a.pl
Undefined subroutine &main::process_command_line called at a.pl line 1.