$ perl -le 'BEGIN { print "in begin" } eval { $i = <> ; $r = sqrt( -1 ) }; print ($@ ? "error: $@" : $r)' in begin Can't take sqrt of -1 at -e line 1. #### echo -1 | perl -le 'BEGIN { print "in begin" } eval { $i = <> ; $r = sqrt( $i ) }; print ($@ ? "error: $@" : $r)' in begin error: Can't take sqrt of -1 at -e line 1, <> line 1.