eval { $dbh->nsql( "begin transaction" ); $dbh->nsql( ); die "problem with query 1" if $status == 0; . . $dbh->nsql( ); die "problem with query n" if $status == 0; }; if( $@ ) { $dbh->nsql( "rollback" ); } else { $dbh->nsql( "commit" ); }