in reply to Capturing SQL errors in Perl

Why don't you simply use the RaiseError => 1 option in DBI::connect?