Что-нибудь типа:
my ($fields,$values);
@_ = split #:#, shift @arr;
$fields .= $dbh->quote($_[0]);
$values .= $dbh->quote($_[1]);
for (@arr) {
@_ = split #:#,$_;
$fields .= \',\',$dbh->quote($_[0]);
$values .= \',\',$dbh->quote($_[1]);
}
$dbh->do( "INSERT INTO $tableName ($fields) VALUES ($values)" ) or die "$DBI::errstr\\n";