我在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
答案 0 :(得分:4)
可能没有失败。 -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.
$
答案 1 :(得分:3)
Windows“shell”中的引用略有不同。要将您的迷你程序解释为单个参数,请尝试类似
的内容perl.exe -e "print qq/hello world/"
答案 2 :(得分:2)
我已联系Proc::Reliable
模块的作者,他确认该模块在Windows上不起作用。