Perl 不接收命令行参数?

Posted

技术标签:

【中文标题】Perl 不接收命令行参数?【英文标题】:Perl does not receive command line arguments? 【发布时间】:2012-09-06 05:56:17 【问题描述】:

我刚买了一台新电脑在工作,我正在尝试启动并运行 perl。我在执行脚本时遇到 Perl 不读取命令行输入的问题。

我使用的是 Win7,如果我像这样从命令行调用脚本:

myscript.pl 1 2 3

它没有收到提供的 1 2 3,但是如果我这样称呼它:

perl myscript.pl 1 2 3

确实如此。

第一个示例之前对我有用,我们在工作中使用的所有脚本都调用类似的 perl 脚本。

assoc .pl 

给我

.pl=Perl

和 ftype perl

给我

perl=C:\Perl64\Bin\perl.exe "%1" %*

有什么想法吗?

【问题讨论】:

在此之前,您是否在 Linux 上工作过? 【参考方案1】:

您可以尝试删除以下注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pl

它应该“重置”错误行为并使其遵循您配置的运行设置。

【讨论】:

对不起,我的回复很慢,我用另一种方法修复它,但你的方法只是帮助了一位同事:)。 @LinusBrandett 你是怎么解决的?这个解决方案对我没有帮助。 删除 HKEY_CLASSES_ROOT\.pl 为我解决了问题

以上是关于Perl 不接收命令行参数?的主要内容,如果未能解决你的问题,请参考以下文章

在 Perl 中,如何在命令行上发送 CGI 参数?

Perl的不严谨教程

Perl和python命令行参数的区别

春节特供小白学perl之命令行参数

如何让 perl 正确传递具有多个参数和复杂文件路径(空格和符号)的命令行参数?

具有带空格的命令行参数的 Perl 脚本