Perlにおいて、例外処理としてdie()をevalでキャッチして、その処理の中でdie()の引数として渡した文字列を利用する場合があると思います。例えば、次のようなコードになります。
$ vim die_test
#!/usr/bin/perl
eval {
die "Exception occurred";
};
if ($@) {
print $@;
}
このスクリプトを実行すると、
$ ./die_test Exception occurred at die_test line 4.
というアウトプットがコンソールに表示されると思います。エラー表示だけならば特に問題はありませんが、メッセージを他の処理で利用したい場合、「at die_test line 4」の部分が邪魔くさくなります。これを防ぐ方法は実はシンプルで、die()の引数のメッセージの最後に改行コード(\n)を加えるだけです。
#!/usr/bin/perl
eval {
die "Exception occurred\n";
};
if ($@) {
print $@;
}
$ ./die_test Exception occurred