【问题标题】:How can I get Win7 to pass arguments to @ARGV in perl? [duplicate]如何让 Win7 在 perl 中将参数传递给 @ARGV? [复制]
【发布时间】:2013-11-05 07:11:10
【问题描述】:

我最近从 Windows XP 切换到了 Win7。

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

谁能建议解决这个问题?

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

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

【问题讨论】:

  • Re“确实让 Win7 将 .pl 扩展名与 perl.exe 相关联”,是的,但操作不正确。请参阅链接帖子的the top-rated answer

标签: windows perl


【解决方案1】:

我似乎无法复制该问题。

我在 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

【讨论】:

    【解决方案2】:

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

    查看此question 了解更多信息,希望对我有帮助,因为我已经很久没有使用过 Windoz。

    【讨论】:

    • 马特,我不认为它会以不同的方式对待它。 ——汤姆·威廉姆斯
    猜你喜欢
    • 2014-04-08
    • 2015-01-29
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多