You might consider:
DBI->connect(....) || fatal(DBI->errstr) [download]
In reply to Re: Attempting to trap a DBI->connect error by Cabrion in thread Attempting to trap a DBI->connect error by Hammy