grep {-x "$_/$program"} split /:/ => $ENV {PATH}; #### eval { local $SIG {PIPE} = sub {die "Pipe!"}; print FH "Whatever\n"; .... close FH or die; }; if ($@ && $@ =~ /^Pipe!/) { ... Do something ... }