我最近安装了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 18有use 5.010
。我认为这是在制造问题。另外,请建议我该怎么做才能使它发挥作用。
答案 0 :(得分:3)
你已经安装了多个版本的Perl。
您运行perl -v
的位置,请运行which perl
以获得完整路径。
现在,打开抱怨它的脚本是Perl 5.8。检查它的第一行,“shebang line”。编辑以匹配which perl
命令的结果,它应该开始由Perl 5.16运行,假设脚本是由shell启动的。
如果您正在使用某些“点击运行”Windows系统,您可能还需要做一些工作来将“.pl”扩展名与您在上面找到的perl的新路径相关联。