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


in reply to Re: Throw from within a DESTROY block
in thread Throw from within a DESTROY block

I was going to mention the possibility of using a $SIG{__DIE__} that calls exit, but it doesn't work. The signal is triggered before the object is destroyed, so a second attempt to destroy the object occurs during global destruction.

Replies are listed 'Best First'.
Re^3: Throw from within a DESTROY block
by ribasushi (Pilgrim) on Sep 07, 2011 at 02:04 UTC
    This can be trivially fixed by closing over an $already_fired flag of some sort to neutralize the DESTROY for a specific object. However I am not interested in an exit() - I want a real trappable exception that will happen during runtime calls to DESTROY (I am not interested in the global destruction case, and can always work around it)