my $dbh = DBI->connect( $dsn, $user, $password, { PrintError => 0, RaiseError => 1, }, ) or die $DBI::errstr; foreach (@whatever) { eval { $dbh->do( $insert_statement, {}, @values ); }; if ($@) { $dbh->do( $update_statement, {}, @values ); } }