Как заставить скрипт Perl использовать wperl ActiveState? - PullRequest
4 голосов
/ 10 февраля 2009

У меня есть Perl-скрипт, которому требуются два аргумента командной строки, для запуска которых требуется некоторое время. Я использую ActiveState Perl для его запуска. Я могу вызвать его с помощью

wperl script.pl arg1 arg2
из командной строки, и он прекрасно работает в фоновом режиме. Если я изменю ассоциацию .pl с perl.exe на wperl.exe и вызову ее с
script.pl arg1 arg2
, аргументы не будут переданы. Есть ли что-то похожее на #!/usr/bin/perl, которое я могу использовать, чтобы заставить wperl привыкнуть?

Ответы [ 3 ]

10 голосов
/ 10 февраля 2009

Узел Perlmonks wperl.exe против perl.exe предлагает связать расширение .wpl с wperl. Назовите все сценарии, которые вы хотите запустить под wperl, с расширением .wpl , а другие именованные файлы .pl используют обычный perl.exe .

6 голосов
/ 10 февраля 2009

Что вы можете сделать, это изменить ассоциацию файлов в отношении wperl.exe в Инструменты> Параметры папки> Типы файлов в любом окне проводника и обновить . pl расширение через Дополнительно> Открыть> Изменить командную строку в

{Path to wperl}\wperl.exe "%1" %*

Это гарантирует, что все аргументы командной строки (% *) будут переданы wperl.exe всякий раз, когда вы вызываете свой скрипт с помощью

script.pl arg1 arg2
0 голосов
/ 05 марта 2018
unless ($^X =~ m/wperl\.exe$/i) {
    exec "wperl",$0,@ARGV;
    exit 0;
}
...