如何强制Perl脚本使用ActiveState的wperl?

4
我有一个需要两个命令行参数的Perl脚本,运行时间较长。我使用ActiveState Perl来运行它。我可以通过命令提示符使用
wperl script.pl arg1 arg2
调用它,并且可以在后台正常运行。如果我将.pl关联从perl.exe更改为wperl.exe并使用
script.pl arg1 arg2
调用它,则参数不会传递。是否有类似于#!/usr/bin/perl的东西,可以用来强制使用wperl

1
我们真的需要一个“wperl”标签吗?(这是唯一带有该标签的问题) - Brad Gilbert
3个回答

10

Perlmonks网站上的节点wperl.exe vs perl.exe建议将.wpl扩展名与wperl关联。将所有要在wperl下运行的脚本命名为.wpl扩展名,其他以.pl命名的文件则使用正常的perl.exe


6
你可以在任何资源管理器窗口的“工具”>“文件夹选项”>“文件类型”中更改与相关的文件关联,并通过“高级”>“打开”>“编辑命令行”更新<.pl>扩展名。
{Path to wperl}\wperl.exe "%1" %*

这确保了每当您使用命令行调用脚本时,所有的命令行参数(%*)都会传递给 wperl.exe
script.pl arg1 arg2

0
unless ($^X =~ m/wperl\.exe$/i) {
    exec "wperl",$0,@ARGV;
    exit 0;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接