$ 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.