eval { #table A foreach line (...) { prepare, execute, commit } #table B prepare, execute, commit } if ( $@ ) { rollback; } #### eval { #table A foreach line (...) { prepare, execute } #table B prepare, execute } if ( $@ ) { rollback } else { commit; }