in reply to Re^4: Log4perl swallowing $@
in thread Log4perl swallowing $@

Agree with this one. Nobody shall assume that $@ or $! or $? would keep their values for ever. It would be tedious job trying to properly localize all of the variables that your code may indirectly affect.