$ $ perl -Mstrict -e'$_="printed\n";my$foo=q(print);eval"if(\$^C){$foo}";print $@ if $@' -- #no compile or run error $ $ perl -Mstrict -e'$_="printed\n";my$foo=q(quux);eval"if(\$^C){$foo}";print $@ if $@' -- # compile error Bareword "quux" not allowed while "strict subs" in use at (eval 1) line 1. $ $ perl -Mstrict -e'$_="printed\n";my$foo=q(&quux);eval"if(\$^C){$foo}";print $@ if $@' -- # runtime error $ $ perl -Mstrict -e '$_="printed\n";my$foo=q(print);eval"$foo";print $@ if $@' -- # conditional removed, no errors printed $