In the case of XML::Parser it has its own __DIE__ handler which makes things a little tricky. But this is perl, the language where "never" doesn't really mean "never", it just means "probably shouldn't" ...