> On Feb 10, 2004, at 9:56 AM, Dan Muey wrote:
> 
> > Hello List,
> >
> > I am using a module that does use Carp; and you
> > can specify whther you want croak or carp on an error
> > Which is cool. But there is no way to specify anythign
> > else besides those two.
> >
> > So the way it is you just do:
> >
> > my $res = funktion('foobarmonkey',err_doer => 'carp');
> >
> > And it will do
> > carp('what  the heck is foobarmonkey');
> >
> > What I'd like to do is get any errors into a variable:
> >
> > my $err = '';
> > my $res = funktion('foobarmonkey',err_doer => 'puterrorinvar');
> >
> > if($err) {
> >     print "Error: $err\n";
> >     print "Logging error..."'
> >     if(logerror($err) { print "Ok\n"; } else { print "Failed!\n"; }
> >     print "Emailing Admin...";      
> >     if(emailadmin($err)) { print "Ok\n"; } else { print 
> "Failed!\n"; }
> >     # and now that we did that we can go ahead and carp, craok die, 
> > whatever    
> > }
> >
> > Except I can't simply specify a new function for errors because it
> > checks for what you enter to see if its in a hash and if 
> not defaults 
> > to one or the other. (I could modify the module but then it 
> won't work 
> > for all)
> >
> > SO I guess the question is, is there a way to get carp or 
> croak into a
> > variable?
> > Something like this perhaps: ?
> 
> Maybe.  Check out this one liner:
> 
> perl -MCarp -e '$SIG{__WARN__} = sub { $err = shift; }; carp 
> "Error!\n"; print "We caught $err";'
> 
> Strangely though, this did not work for me, though I expected it to:
> 
> perl -MCarp -e '$SIG{__DIE__} = sub { $err = shift; }; croak 
> "Error!\n"; print "We caught $err";'

Oh yeah %SIG I've nvere really messed with it before.
I'll check it out a bit more, thanks James!

Dan

> 
> James
> 
> 

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


Reply via email to