2012-02-16 3 views
-1

私はCygwin環境でperlスクリプトを書いています。内部では、別のプログラムを実行するためにバッククイックを使用し、戻り値は変数に割り当てられます。 2週間前にcygwinのいくつかのパッケージをアップグレードする前にうまくいきました。今、バックチックは値を返しません。何かご意見は?backticksはperlの値を返しません

+2

明らかな質問は、「手動でコマンドラインからプログラムを実行するとどうなるでしょうか?それはまだ動作しますか? –

+0

コマンドラインはうまく動作します – yunreer

+1

実際のコマンドをバックティックまたはそのファクシミリで質問に入れられますか?ここではほとんど進んでいません。 – kbenson

答えて

3

$の値を確認してみてください。実行された最後の外部コマンドのリターンコードが含まれていますが、コマンドを強制終了した信号やコアダンプなどの余分な情報を含むためにオーバーロードされています。

実際の戻りコードは

my $return_code = $? >> 8; 

それがゼロならない場合、正常に実行されたコマンドは、それがcommadnがで終了しましたエラーステータス(int型どのようなメイン()は、例えば、Cにして返します)です。

関連する問題