eval{ my $a = b(); $a = c(); ## etc... }; if ($@){ print "This error happened: $@"; exit; } sub a{ open FILE, $file or die "File open error ($!)"; ## other similar stuff }