$dbh -> begin_work; my $ids = $dbh -> selectall_arrayref("SELECT id FROM table WHERE col1 != ? AND col2 = ?", undef, $val1, $val2); $dbh -> do("update table set col1= ? where col2 = ?", undef, $val1, $val2); $dbh -> commit;