当仅需要v5.10时,Perl v5.16被拒绝

时间:2012-08-10 14:00:00

标签: perl version

我最近安装了Strawberry Portable Version of 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 18use 5.010。我认为这是在制造问题。另外,请建议我该怎么做才能使它发挥作用。

1 个答案:

答案 0 :(得分:3)

你已经安装了多个版本的Perl。

您运行perl -v的位置,请运行which perl以获得完整路径。

现在,打开抱怨它的脚本是Perl 5.8。检查它的第一行,“shebang line”。编辑以匹配which perl命令的结果,它应该开始由Perl 5.16运行,假设脚本是由shell启动的。

如果您正在使用某些“点击运行”Windows系统,您可能还需要做一些工作来将“.pl”扩展名与您在上面找到的perl的新路径相关联。