0

我在 Win 7 机器上使用 ActivePerl,我想使用 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

4

3 回答 3

4

它可能不会失败。 告诉 perl 在@ARGV 设置为-e print 'hello world'的情况下执行代码(或者,我忘记了 windows cmd 引用如何处理 '')。这会将 $_ 的内容(即 undef)打印到 STDOUT。printhello world("'hello","world'")

始终使用警告。即使是单线。也许尤其是在单行上。相比:

$ perl -e print 'hello world'
$

$ perl -we print 'hello world'
Use of uninitialized value $_ in print at -e line 1.
$
于 2010-09-07T18:04:05.143 回答
3

Windows“shell”中的引用有点不同。要将您的小程序解释为单个参数,请尝试类似

perl.exe -e "print qq/hello world/"
于 2010-09-07T18:44:11.533 回答
2

我已经联系了该Proc::Reliable模块的作者,他确认该模块不能在 Windows 上运行。

于 2012-02-23T21:01:25.153 回答