juerd@lanova:~$ perl -MO=Deparse -e'BEGIN { eval "sub foo () { return 42; }" } print foo;' sub BEGIN { eval 'sub foo () { return 42; }'; } print foo; -e syntax OK juerd@lanova:~$ perl -MO=Deparse -e'BEGIN { eval "sub foo () { 42 }" } print foo;' sub BEGIN { eval 'sub foo () { 42 }'; } print 42; -e syntax OK