sherab has asked for the wisdom of the Perl Monks concerning the following question:
Hello esteemed monks, I was using the perl critic on the code below....
eval { # # Prepare the SQL Statment # my $sth = $dbh->prepare($sql) or die "Can't prepare SQL statemen +t: $DBI::errstr"; # # Execute the SQL Statment # my $rc = $sth->execute(@values) or die "Can't execute SQL statem +ent: $DBI::errstr"; # # Fetch the result # $data = $sth->fetchall_arrayref({}); $sth->finish; # # check for problems which may have terminated the fetch early # die "Can't query result: $sth->errstr" if $sth->err; }; if ($@) { print STDERR "ERROR [query_database()]: $@"; return 0; }
I got the notice that "You can't depend upon the value of $@/$EVAL_ERROR to tell whether an eval failed."
Is that because this traps the last syntax error and not warning messages?. Any advice on $@ would be appreciated.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: $@ can't be relied on?
by jettero (Monsignor) on Nov 17, 2009 at 19:53 UTC | |
by Anonymous Monk on Nov 18, 2009 at 03:03 UTC | |
|
Re: $@ can't be relied on?
by JavaFan (Canon) on Nov 17, 2009 at 21:38 UTC | |
|
Re: $@ can't be relied on?
by JadeNB (Chaplain) on Nov 17, 2009 at 20:24 UTC | |
|
Re: $@ can't be relied on?
by przemo (Scribe) on Nov 17, 2009 at 20:37 UTC | |
|
Re: $@ can't be relied on?
by mje (Curate) on Nov 17, 2009 at 20:31 UTC |