当只需要v5.10时,Perl v5.16被拒绝
我最近安装了Strawberry Portable Version of Perl。该网站说它是v5.16。当只需要v5.10时,Perl v5.16被拒绝
我用CPAN来安装Marpa::PP
。它已成功安装。然后我用一个示例程序来测试Marpa::PP
。当我试图运行它,我得到了以下错误:
Perl v5.10.0 required--this is only v5.8.0, stopped at perl/site/lib/Marpa/PP.pm line 18.
BEGIN failed--compilation aborted at perl/site/lib/Marpa/PP.pm line 18.
Compilation failed in require at F:\workdir\perl\perl32\sql_insert.pl line 1.
BEGIN failed--compilation aborted at F:\workdir\perl\perl32\sql_insert.pl line 1.
当我运行perl -v
,我得到:
This is perl 5, version 16, subversion 0 (v5.16.0) built for MSWin32-x86-multi-thread
请帮我弄明白它。我的perl是v5.16,错误表示它只有v5.8,而code in Marpa/PP.pm line 18有use 5.010
。我认为这是造成这个问题。另外,请建议我应该怎么做才能使其工作。
你已经安装了多个版本的Perl。
您在哪跑过perl -v
,请运行which perl
以获取其完整路径。
现在,打开抱怨它是Perl 5.8的脚本。检查它的第一行,“shebang线”。编辑以匹配which perl
命令的结果,并且应该由Perl 5.16开始运行,假定脚本是由shell启动的。
如果您正在使用一些“点击运行”Windows系统,您可能还需要做一些更多的工作才能将“.pl”扩展名与上面找到的perl的新路径相关联。
系统上确实有两个perls。我可以通过在命令行中明确指定正确的perl.exe位置来运行perl来解决问题。 – user1590387 2012-08-10 17:32:35
这是您的系统中唯一的perl。不知何故,我觉得你至少有2个...... – 2012-08-10 14:01:47
由'perl -v'和你用来执行脚本的'perl'执行的'perl'是Perl的不同版本。您没有指定如何启动您用来执行脚本的Perl。我怀疑你有文件关联你想改变。 – ikegami 2012-08-10 14:45:25
您需要更改'PATH'变量以使用一个版本的'perl' – gaussblurinc 2012-08-10 15:30:59