my $NUM_FIELDS = 14; my $sql = "INSERT INTO whatever VALUES (" . join(', ', ('?') x $NUM_FIELDS) . ")"; my $sth = $dbh->prepare_cached($sql); while () { my @line = (parse_cvs($_)); $sth->execute(@line); } $sth->finish; #### while () { my @line = (parse_cvs($_)); my $sql = "INSERT INTO whatever VALUES (" . join(', ', ('?') x @line) . ")"; my $sth = $dbh->prepare_cached($sql); $sth->execute(@line); $sth->finish; }