in reply to Re^3: Localizing %SIG
in thread Localizing %SIG
I meant specifically that local %SIG; does not appear to affect the signal handlers, even though it creates a local, empty %SIG, does not appear to be documented.
use warnings; use strict; use Data::Dumper; local $SIG{__WARN__} = sub { warn "outer: $_[0]" }; warn "one\n"; { local $SIG{__WARN__} = sub { warn "inner 1: $_[0]" }; warn "two\n"; { local %SIG; warn "three\n"; print Dumper(\%SIG); { local $SIG{__WARN__} = sub { warn "inner 2: $_[0]" }; warn "four\n"; } } warn "five\n"; } warn "six\n"; __END__ outer: one inner 1: two inner 1: three $VAR1 = {}; inner 2: four five outer: six
Okay, so the result for "five" isn't correct... looks like there really may be a bug somewhere.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^5:Localizing %SIG
by shmem (Chancellor) on Feb 17, 2016 at 22:57 UTC | |
by Anonymous Monk on Feb 18, 2016 at 08:25 UTC | |
Re^5: Localizing %SIG
by kcott (Archbishop) on Feb 17, 2016 at 23:34 UTC | |
Re^5:Localizing %SIG
by LanX (Saint) on Feb 17, 2016 at 22:50 UTC | |
by shmem (Chancellor) on Feb 17, 2016 at 23:27 UTC | |
by LanX (Saint) on Feb 17, 2016 at 23:35 UTC |