質問

次のコードを理解しようとしています:

sub foo {
    ...
    if ( $@ ) {
        ...
        die $@;
    }
}
役に立ちましたか?

解決

perldoc -f eval

  

構文エラーまたはランタイムがある場合   エラー、または「ダイ」文は   実行されると、未定義の値は   " eval"によって返され、$ @は   エラーメッセージ。なかった場合   エラー、$ @はnullであることが保証されています   文字列。

perldoc perlvar も参照してください。

他のヒント

$ @ は、もしあれば、最後の eval コマンドのエラーメッセージを含むマジック変数です。

ifループの前にevalを付けて、$ @をトラップできるようにします。

eval()中、$ @は失敗すると常に設定され、成功するとクリアされます。

eval()内のwhrコードがコンパイルされなかった場合、$ @はコンパイルエラーに設定されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top