evalで囲ってしまって、dieさせない例を見てきました〜。 さてさて、次のようなことを考えてみましょう。 ファイルを無事にopenできた場合は、ファイルを読み込んで正常な処理をする。 もし、ファイルがopenできなかった場合はその旨をデータベースに残しておくためにデーターベースに書き込みにいく。 こういった処理を考えた場合。 ファイルがないからといってdieされては困ります。 そこで、eval evalを使ってdieを捕まえるのです。 evalが例外を捕まえれば、$@に値が入るのは前回みましたね。 これを使いましょう。 ソースを見た方が早いので、ソースを載せちゃいます。 use strict; my $f; eval { open $f, '<', 'hoge.txt' or die $!; }; if($@){ print '大変だデータベースに登録', "\n"; } else {