in reply to (jcwren) Re: (2) Tying events to perl warnings and errors
in thread Tying events to perl warnings and errors

Localize the handler with a closure, like this:

sub foo { my ($a, $b, $c) = @_; my %hash = (a => {b => {c => 0}}); # whatever other variables you want to initialize local $SIG{__WARN__} = sub { # dump those variables here }; print $hash{$a}->{$b}->{$c}; # ... }

The variables you want to dump will be in scope of the __WARN__ handler and you can do whatever you like with them.

local $_ = "0A72656B636148206C72655020726568746F6E41207473754A"; while(s/..$//) { print chr(hex($&)) }