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.
In reply to $@ can't be relied on? by sherab
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |