The output when running this code is...use DBI; eval { # this connect will fail $dbh = DBI->connect('dbi:Oracle:dev', 'user', 'pass', {RaiseError = +> 1, PrintError => 0}) || die "my die"; print "after connect\n"; }; if ($@) { print "$@\n"; }
But this code will call the die statement because RaiseError is off...# perl test.pl DBI connect('dev','user',...) failed: ORA-01017: invalid username/pass +word; logon denied (DBD: login failed) at test.pl line 5
This output when running this code is...use DBI; eval { # this connect will fail $dbh = DBI->connect('dbi:Oracle:dev', 'user', 'pass', {RaiseError = +> 0, PrintError => 0}) || die "my die"; print "after connect\n"; }; if ($@) { print "$@\n"; }
Update: The DBI Changes file says this# perl test.pl my die at test.pl line 5.
Changes in DBI 0.91, 10th December 1997
...
DBI->connect(..., { RaiseError=>1 }) now croaks if connect fails.
...
In reply to Re^2: Can't call on undefined value (DBI) + constructive feedback asked.
by mifflin
in thread Can't call on undefined value (DBI) + constructive feedback asked.
by BioGeek
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |