Error Handling for Transactions
$dbh->{AutoCommit} = 0;
eval {
$dbh->do($this);
$dbh->do($that);
...
};
if($@) {
$dbh->rollback();
# graceful error handling
}
else {
$dbh->commit();
}