我最近从Windows XP切换到Win7。
Win7不会将命令行参数传递给perl程序中的@ARGV数组。 XP没有这样的问题。
有人可以建议修复此问题吗?
确实让Win7将.pl扩展名与perl.exe相关联
我怀疑它与HKEY_CLASSES_ROOT.pl和HKEY_CLASSES_ROOT \ Applications \ perl.exe有关,但我不知道如何设置它们。
答案 0 :(得分:1)
使用包含perl blah.pl asdf
而不是blah.pl asdf
的perl解释器调用脚本,因为Windows会在较新版本中以不同方式处理
请查看此question以获取更多信息,并希望它有所帮助,因为我没有长时间使用Windoz。
答案 1 :(得分:0)
我似乎无法复制问题。
我在Windows 7上运行Active Perl 5.18,两个命令表单都提供相同的输出。你能给出一个输入,命令和结果的例子吗?
argv.pl:
foreach (0 .. $#ARGV)
{ print "$_ ", $ARGV[$_], "\n"
}
C:\Perl64\Programs>argv a b c
0 a
1 b
2 c
C:\Perl64\Programs>perl argv.pl a b c
0 a
1 b
2 c