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;