sub insertsql { my ($dbh,$table,$data) = @_; my @qm; my @keys; my @values; my $i = -1; foreach my $k (keys %$data) { $i++; $keys[$i] = $k; $values[$i] = $data->{$k}; $qm[$i] = '?'; } my $keylist = join(",",@keys); my $qlist = join(",",@qm); my $sqlstatement = "insert into $table ($keylist) values ($qlist)"; my $sth = $dbh->prepare($sqlstatement); $sth->execute(@values) || die "Could not execute MySQL statement: $sqlstatement"; $sth->finish(); return $dbh->{'mysql_insertid'}; }