warn関数 - 警告を出力する
警告を出力するにはwarn関数を使用します。メッセージの末尾には警告が出力された行番号が自動的に追加されます。行番号を表示させないようにするには末尾を改行で終えます。
# 警告を出力する # 行番号あり warn $message; # 行番号なし warn "$message\n";
実際にwarnが行っていることは標準エラー出力にメッセージを出力することです。行番号が含まれていることと「__WANR__」シグナルを発生させることを除いて次のprint文と同じです。警告を意味しない場合でも標準エラー出力にメッセージを出力したい場合にはwarnが利用されることがあります。
# warnの意味は標準エラー出力への出力とほぼ同じ perl STDERR $message;
警告をキャッチする
警告をキャッチすることができます。warnが実行されると__WARN__シグナルが発生するのでこれをシグナルハンドラでキャッチします。
# 警告のキャッチ $SIG{__WARN__} = sub { # 実行したい処理 }; warn "warning!";