質問
次のコードを理解しようとしています:
sub foo {
...
if ( $@ ) {
...
die $@;
}
}
解決
構文エラーまたはランタイムがある場合 エラー、または「ダイ」文は 実行されると、未定義の値は " eval"によって返され、$ @は エラーメッセージ。なかった場合 エラー、$ @はnullであることが保証されています 文字列。
perldoc perlvar
も参照してください。
他のヒント
$ @
は、もしあれば、最後の eval
コマンドのエラーメッセージを含むマジック変数です。
ifループの前にevalを付けて、$ @をトラップできるようにします。
eval()中、$ @は失敗すると常に設定され、成功するとクリアされます。
eval()内のwhrコードがコンパイルされなかった場合、$ @はコンパイルエラーに設定されます。
所属していません StackOverflow