我最近从 Windows XP 切换到 Win7。
Win7 不会将命令行参数传递给 perl 程序中的 @ARGV 数组。XP没有这样的问题。
任何人都可以建议解决此问题吗?
确实让 Win7 将 .pl 扩展名与 perl.exe 相关联
我怀疑它与 HKEY_CLASSES_ROOT.pl 和 HKEY_CLASSES_ROOT\Applications\perl.exe 有关,但我不知道如何设置它们。
调用包含 perl 解释器的脚本,perl blah.pl asdf
而不是blah.pl asdf
因为 Windows 在较新版本中会以不同方式处理两者
检查此问题以获取更多信息,并希望对我有帮助,因为我已经很久没有使用过 Windoz。
我似乎无法复制这个问题。
我在 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