in reply to Re: Can't call on undefined value (DBI) + constructive feedback asked.
in thread Can't call on undefined value (DBI) + constructive feedback asked.

Are you sure? In my experience this code will not call my die statement because RaiseError is on....
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"; }
The output when running this code is...
# perl test.pl DBI connect('dev','user',...) failed: ORA-01017: invalid username/pass +word; logon denied (DBD: login failed) at test.pl line 5
But this code will call the die statement because RaiseError is off...
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"; }
This output when running this code is...
# perl test.pl my die at test.pl line 5.
Update: The DBI Changes file says this
 Changes in DBI 0.91,	10th December 1997
  ...
  DBI->connect(..., { RaiseError=>1 }) now croaks if connect fails.
  ...