[Gllug] perl eval()

Jason Clifford jason at ukpost.com
Thu Jun 20 15:46:34 UTC 2002


On Thu, 20 Jun 2002, will wrote:

> I have been experimenting with the perl DBI the last couple of days and have come upon a bit of a 
> problem.  I need to trap the errors returned when doing things like connecting to the database as I 
> don't want the script to die if there was an error.  The only way to do it that I have found so far 
> however is to wrap the piece of code that might fail in eval() 
> (http://search.cpan.org/doc/JWIED/Msql-Mysql-modules-1.2219/mysql/lib/DBD/mysql.pm).  In Perl in a 
> Nutshell it says about eval():
> 
> Does this mean that another interpreter is fired up to run the code in the eval?  This is a bit 
> worrying as the resources on the box are pretty minimal.  Is there a better way of trapping the 
> errors returned from the DBI that I am unaware of?

perldoc -f eval 

should tell you more.

I use code like so:

$sql = "..."
eval ($dbh->do($sql));
if ($@)	# $@ is the return from eval if anything went wrong
  {
  # do whatever...
  }

It's nice and simple and it works well.

Jason Clifford
-- 
UKPOST.COM		   A great email address is waiting just for you!
http://www.ukpost.com/



-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list