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"; } #### # perl test.pl DBI connect('dev','user',...) failed: ORA-01017: invalid username/password; logon denied (DBD: login failed) at test.pl line 5 #### 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"; } #### # perl test.pl my die at test.pl line 5.