sub whoops { print "whoops() called\n"; } eval `echo whoops`; print $@ ? "EVAL ERROR: $@\n" : "no error!\n"; eval `echo no_such_sub`; print $@ ? "EVAL ERROR: $@\n" : "no error!\n"; __END__ whoops() called no error! EVAL ERROR: Bareword "no_such_sub" not allowed while "strict subs" in use at (eval 2) line 1.