in reply to END failed--call queue aborted
It gets more interesting! I thought I would throw a SIG{DIE} in there just to see where the route goes and got a very odd result (note the double S):
Updateperl -we "sub fail{die 'test'}; END{ print qq'\nF\n'; fail() }; $SIG{__DIE__} = sub{print qq!\nS\n!; fail()}; fail()" S test at -e line 1. F S S test at -e line 1.
I like line numbers, so I wrote this up as little program:
and the output:#!perl -w use strict; my $counter = 0; sub fail{ ++$counter; print "$counter: Fail called.\n"; die "DEATH ". +__LINE__ ."\n" } END{ ++$counter; print "$counter: End called.\n"; fail() } $SIG{__DIE__} = sub{ ++$counter; print "$counter: SigDie called.\n"; f +ail() }; fail()
1: Fail called. 2: SigDie called. 3: Fail called. DEATH 4 4: End called. 5: Fail called. 6: SigDie called. 7: Fail called. 8: SigDie called. 9: Fail called. DEATH 4
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: RE: END failed--call queue aborted
by little (Curate) on Jun 27, 2002 at 06:12 UTC |
In Section
Seekers of Perl Wisdom