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


in reply to Re^7: Modern Perl Programming Highs and Lows
in thread Modern Perl Programming Highs and Lows

Well... you neglected to account for DESTROY { eval {} } and DESTROY { die } for any objects created in your test code. You failed to account for buggy overloading in exception objects. To do all of that correctly you've got to use the return value of the eval{} to decide failure, hook and unhook $SIG{__DIE__}, save $@ so when you stringify it, you don't accidentally cause it to clobber itself.

Perl exception handling is actually a garden of pain.

⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊