my @records = ( ['value1', 'value2'], ...) ;
my $values = join ", ", ("( ?, ? )" x @records);
my $query = "INSERT INTO $table (field1, field2) VALUES $values";
my $sth = $dbh->prepare($query);
$sth->execute(map { @$_ } @records);
####
my @list;
foreach (@records) {
push(@list,"( ?, ?, ? )");
}
my $values = join(',', @list);
####
join ", ", ("( ?, ? )" x @records);