RIGHT: my $sth = $dbh->prepare( "UPDATE foo SET bar=7 WHERE baz=?" ); for my $val(@values) { $sth->execute($val); } WRONG: for my $val(@values) { $val = $dbh->quote($val); my $sth = $dbh->do( "UPDATE foo SET bar=7 WHERE baz=$val" ); }