Listing D #!/usr/bin/perl use DBI; # create database connection my $dbh = DBI->connect("DBI:mysql:database=somedb;host=localhost", "user", "pass", {'RaiseError' => 1, 'AutoCommit' => 0}); # trap errors using eval{} my $insert_sth = $db->prepare("insert into table (field) values(?)"); eval {         #go around some loop to get a value for 1...100000 { $insert_sth->execute($_); }        # commit changes     $dbh->commit(); }; # any errors # rollback if ($@) {     print "Transaction aborted: $@";     $dbh->rollback(); } # close connection $dbh->disconnect();