我正在尝试使用 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 上。