CPANモジュール等を使って、Perlっぽくないことをしてみましょう。 例外処理 PerlにはJavaのような例外処理機構がありません。やろうとするとevalで囲ってif( $@ ){ 例外処理 }を繰り返すことになり美しくありません。そこでErrorモジュール(日本語訳)を使います。 use Error qw(:try); try { do_some_stuff(); } catch Error with { my $err = shift; print "Exception at line ",$err->{-line}," in ",$err->{-file},"\n"; } finally { print "Goodbye\n"; }; sub do_some_stuff{ die; } my $cond = 1; switch ($cond) { case 1 { print "