0

我最近从 Windows XP 切换到 Win7。

Win7 不会将命令行参数传递给 perl 程序中的 @ARGV 数组。XP没有这样的问题。

任何人都可以建议解决此问题吗?

确实让 Win7 将 .pl 扩展名与 perl.exe 相关联

我怀疑它与 HKEY_CLASSES_ROOT.pl 和 HKEY_CLASSES_ROOT\Applications\perl.exe 有关,但我不知道如何设置它们。

4

2 回答 2

1

调用包含 perl 解释器的脚本,perl blah.pl asdf而不是blah.pl asdf因为 Windows 在较新版本中会以不同方式处理两者

检查此问题以获取更多信息,并希望对我有帮助,因为我已经很久没有使用过 Windoz。

于 2013-10-26T02:45:05.757 回答
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
于 2013-10-26T03:14:48.593 回答