http://www.perlmonks.org?node_id=55154


in reply to eval + no warnings = no memory

Interestingly, it has nothing to do with warnings per se.

Simply running

perl -e "eval 'no strict;' while (0==0);"
But if you use eval BLOCK, this doesn't happen:
perl -e "eval {no strict;} while (0==0);"
Won't. This is odd, and cause for a bug report.