libdevel-globaldestruction-perl | Expose PL_dirty, the flag which marks global destruction | Mehr ...
Perl's global destruction is a little tricky to deal with WRT finalizers because it's not ordered and objects can sometimes disappear. . Writing defensive destructors is hard and annoying, and usually if global destruction is happenning you only need the destructors that free up non process local resources to actually execute. . For these constructors you can avoid the mess by simply bailing out if global destruction is in effect.