develooper Front page | perl.perl5.porters | Postings from January 2021

Re: local %SIG = (%SIG, $signame => ...) not working as expected?

Thread Previous | Thread Next
January 12, 2021 22:44
Re: local %SIG = (%SIG, $signame => ...) not working as expected?
Message ID:
Eric Wong <> wrote:
:I'm getting a hash(ref) of SIG overrides either as
:a return value from another sub.  My workaround is something
:like this:
:	my %sig = $self->some_callback;
:	local $SIG{$_} = $sig->{$_} for keys %sig;
:	...

I wouldn't expect that to work, but you can use a hash slice instead:
  local @SIG{keys %sig} = values %sig;

I do this sort of thing a lot when I want to localize a variable subset
of elements, using a hash slice or array slice as relevant.


Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About