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


in reply to Cross-developing in 5.005 and 5.6 (code)

eval { block } can still have compile time errors. If you want to trap those too, you need to use eval "string" instead.