我正在尝试使用 Perl 的HTTP::Server::Simple::CGI
模块在远程机器上运行命令并使用返回其输出qx//
,但$?
似乎只返回-1
- 命令是否成功(我很想知道它是否成功) .
特别是,我已将文档页面http://metacpan.org/pod/HTTP::Server::Simple#EXAMPLE$who
上示例中的行设置更改为以下命令:HTTP::Server::Simple::CGI
my $who = qx/cat some_file/."\nReturns $?";
但$?
显示为-1
文件是否存在。它显然基本上可以工作,因为如果文件存在,就会显示文件的内容。将此与
perl -le 'print qx/cat some_file/."\nReturns $?"'
这表明它256
在失败或0
成功时返回。顺便说一句,在错误情况下,它会报告失败stderr
- 而不是 Simple 案例所做的事情。
有什么特别的事情我应该做的$?
吗?
我在 Perl 5.14.2、Ubuntu 12.04 上。