According to
perldoc -f die
and
perldoc perlvar # look at %SIG{expr}

the die_handler will be called with the string die was passed.  From the
perldoc -f die, die will concatenate all parameters together.  Therefore,
your problem makes sense.  You might try passing an array reference
containing the three strings, and then dereferencing the array from within
your die_handler...
i.e.
sub die_handler {
  my(@vars) = @{ $_[0] };
  ... same as before.
}

die( ["foo", "goo", "bar"] );

I didn't try this, but judging by perldoc it should work.

Tanton
----- Original Message -----
From: "Sethi, Pradeep" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Friday, March 01, 2002 2:48 PM
Subject: die handler : posting again.


> I posted it earlier also but got no response. Posting again to
> hope to get some advice.
>
> thanks in again
>
> -----Original Message-----
>
> Sent: Wednesday, February 27, 2002 2:46 PM
> To: [EMAIL PROTECTED]
> Subject: die handler
>
>
> Hi ,
>
> I have this in my code :
>
> local $SIG{__DIE__} = \&die_handler;
>
> and then
>
> sub die_handler {
>
> my (@vars)=@_;
>
> print STDERR "\nfirst : " . $vars[0];
>
> print STDERR "\nsecond : " . $vars[1];
>
> }
>
> if i give :
>
> die ('goo','foo','bar');
>
> Then I get the output :
>
> first : goofoobar at out.pl line 233.
>
> second :
>
> I want to have the three arguments in an array.
>
> can somebody tell what am I doing wrong ?
>
> Thanks
>
> Pradeep
>
>
>
> _________________________________________________________________
> Join the world's largest e-mail service with MSN Hotmail.
> http://www.hotmail.com
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to