http://www.perlmonks.org?node_id=1049145


in reply to Database Error Handling

You'll save yourself a lot of code writing if you simply enable RaiseError (see the DBI pod) on your DBI handle.

If your connection fails in the above code it prints an error and falls through into code which uses your $dbh.

You test !$dbh then $dbh separately but one is the opposite of the other so two if tests are not required.

ChopBlanks has nothing to do with inserts so that line is redundant.

You can test the return of the execute on line 25 to see if the insert inserted any rows as it is not an error to insert no rows.