my @pairs = ( name => $name, country => $country, language => $language, union => $union, title => $title, email => $email, cellphone => $cellphone, landlinephone => $landlinephone, facebook => $facebook, skype => $skype, twitter => $twitter, gender => $gender, age => $age, needshelp => $needshelp, ); my @fields = do {my $b = 0; grep {$b ^= 1} @pairs}; my @values = do {my $b = 1; grep {$b ^= 1} @pairs}; $sth = $dbh->prepare('INSERT INTO istanbul2011 SET ' . join ',', map {"$_=?"} @fields)); $sth->execute(@values) or die $dbh->errstr