my $record_ref = { bar => 'barbar', }; # Check if ID field is present, add it, if not #if ( ! exists $record_ref->{id} ) { # $record_ref->{id} = undef; #} # Not needed for mysql. # Transform hash into two arrays my @fields = keys %{$record_ref}; my @values = map { $record_ref->{$_} } @fields; # code stolen from the IBPerl module examples ;) my $sql = "INSERT INTO foo (" . join( ',', @fields ) . ') VALUES (' . ( '?,' x $#fields ) . "?)"; print "sql=", $sql, "\n";