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を使用しています。