in reply to DBI Connect Error Trapping

Also, instead of just dieing outright, you could call a subroutine. I have some high priority scripts that run overnight as well, and if they fail, I _need_ to know about it. Something like this works nicely:
my $dbh = DBI->connect(...) or handle_connect_fail($DBI::errstr); sub handle_connect_fail { my ($error) = shift; # print loud warnings, # maybe sleep 300 and retry. # Or use mail send module, and have your script page you. }
You can do a lot of fun things with or sub().