eval { open(FH, $file) or die "NO_OPEN"; $text = join('', ) or die "NO_READ"; close(FH) or die "NO_CLOSE"; } if ($@) { ... } #### open(FH, $file) or &error("NO_OPEN", $file, $!); my $text = join('', ) or &error("NO_READ", $file, $!); close(FH) or &error("NO_CLOSE", $file, $!);