my @fields = sort keys %prophash; my $sql = 'INSERT INTO maintable ('.join(',',@fields) .') values ('.join(',',('?')x(scalar @fields)).')'; my $sth = $dbh->prepare($sql) or die "Can't prepare statement\n\n$sql\n\n$dbh->errstr()"; $sth->execute(@prophash{@fields}) or die "Can't execute statement : $db->errstr()";