Могу ли я использовать Proc::Reliable на Windows?
Я использую ActivePerl на Win 7 и хочу использовать модуль Proc::Reliable CPAN. Он загружен и установлен правильно, но когда я попытался запустить следующий код, он не смог в run
my $newProc = Proc::Reliable->new()
$newProc->run("perl.exe -e print 'hello world'");
Я попробовал пару вещей, таких как тестирование status
и пытается получить результат, но безуспешно. Насколько я могу судить, программа тихо умирает на run
,
Для справки perl.exe есть в моем PATH
переменная, и я вызываю это из командной строки как: perl.exe test.pl
3 ответа
Это, вероятно, не подведет. -e print 'hello world'
говорит Perl выполнить код print
с @ARGV, установленным в hello world
(или возможно ("'hello","world'")
Я забыл, как Windows CMD цитирует ручки ''). Это печатает содержимое $_ (то есть undef) в STDOUT.
Всегда используйте предупреждения. Даже на однострочниках. Возможно, особенно на однострочниках. Для сравнения:
$ perl -e print 'hello world'
$
а также
$ perl -we print 'hello world'
Use of uninitialized value $_ in print at -e line 1.
$
Цитирование немного отличается в "оболочке" Windows. Чтобы интерпретировать вашу мини-программу как один аргумент, попробуйте что-то вроде
perl.exe -e "print qq/hello world/"
Я связался с автором Proc::Reliable
модуль и он подтвердил, что модуль не работает на Windows.