Hello,

Maybe saving the previous value ?
my $oldvalue = $SIG{__DIE__};
#Do wathever you want with $SIG{__DIE__}
$SIG{__DIE__} = $oldvalue;

--
tfe
http://tfeserver.homelinux.com


On 26 oct, 12:54, [EMAIL PROTECTED] (Jeff Pang) wrote:
> use local,like:
>
> {  # in a code block
>     local $SIG{__DIE__} = sub { ....};
>     do something...
>
> }
>
> when code run out of the block,$SIG{__DIE__} will restore to its default 
> value.
>
> On 10/26/07, dolfantimmy <[EMAIL PROTECTED]> wrote:
>
> > I need to use $SIG to modify the behavior of die in a portion of my
> > code.  The module I am calling uses die instead of returning a certain
> > error, that I EXPECT to encounter.  So, I can do this....
> > $SIG{_ _DIE_ _} = sub {
> >     my $message = shift;
>
> >     print STDOUT "Script died with this message:\n";
> >     print STDOUT "$message\n";
> > };
>
> > However, I only want this modified behavior in one small section of
> > the code.  How do I return the behavior to it's default?
>
> > Thanks
>
> > --
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >http://learn.perl.org/



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to