my $placeholders = '?,' x @cols; chop $placeholders; my $cols = join ',', @cols; my $sth = $dbh->prepare("INSERT INTO venue ($cols) VALUES ($placeholders)") or die $dbh->errstr; $sth->execute(@vals);