Windows 如何让Win7在perl中向@ARGV传递参数?

Windows 如何让Win7在perl中向@ARGV传递参数?,windows,perl,Windows,Perl,我最近从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在新版本中将对这

我最近从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了。

我似乎无法复制此问题

我在Windows7上运行ActivePerl5.18,两种命令形式都提供相同的输出。你能举一个输入、命令和结果的例子吗

argv.pl:

foreach (0 .. $#ARGV)
      { print "$_ ", $ARGV[$_], "\n"
        }


马特,我看不出有什么不同-Tom WilliamsRe“确实让Win7将.pl扩展名与perl.exe关联”,是的,但做得不正确。请参阅链接帖子的链接。
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