I would, except I can't quite predict where the error could happen, which means I would have to eval the whole script, and being several thousands of lines long, not including the modules I am loading, it really hurts performance ;-)
Keary Suska Esoteritech, Inc. "Leveraging Open Source for a better Internet" > From: David Iberri <[EMAIL PROTECTED]> > Date: Wed, 24 Oct 2001 18:36:09 -0700 > To: Keary Suska <[EMAIL PROTECTED]> > Cc: MacPerl List <[EMAIL PROTECTED]> > Subject: Re: [MacPerl] Trapping run time errors > >> Is there a way to trap runtime errors, and, say, output them to a log file >> before perl dies? > > Often something as simple as this will do the trick: > > eval { > ... # Some code that may call die() > }; > > logmsg($@) if $@; # logmsg() is defined elsewhere to output > # its argument to a log file. > > Or you could define closures for $SIG{__WARN__} and/or $SIG{__DIE__} that > get called when warn() or die() are called, respectively, e.g.: > > local $SIG{__WARN__} = sub { logmsg(shift) }; > > HTH, > > David > >> Keary Suska >> Esoteritech, Inc. >> "Leveraging Open Source for a better Internet" > >