スクリプトが「初期化されていない値をeval "string"で報告するのはなぜですか?

StackOverflow https://stackoverflow.com/questions/303841

  •  08-07-2019
  •  | 
  •  

質問

この警告が表示されます:

Use of uninitialized value in eval \"string\" at myscript.pl line 57.

このコードを実行すると:

eval;
{
        `$client -f $confFile -i $inputFile -o $outputFile`;
};

if( $@ )
{
        # error handling here ...
}

エラーの原因は何ですか?

根本的な原因を修正するにはどうすればよいですか? (または、警告を非表示にしますか?)

役に立ちましたか?

解決

eval の後にセミコロンがあります。

他のヒント

ここでの評価は、とにかく何もしません。バックティックはエラーをスローしません。確認したいのは $ @ ではなく、 $?です。

また、結果を破棄する場合は、を使用する方がよりわかりやすいかもしれませんシステム。例:

system($client, '-f', $confFile, '-i', $inputFile, '-o', $outputFile) and do {
    #error handling here...
};
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top