... my $col_spec = my $val_spec = "("; for my $column ( keys %data ) { $col_spec .= "$column,"; $val_spec .= "$data{$column},"; } $col_spec =~ s/,$/\)/; $val_spec =~ s/,$/\)/; my $sql = "insert into my_table $col_spec values $val_spec"; #### my $col_spec = join( ",", sort keys %data ); my $val_spec = join( ",", map { $data{$_} } sort keys %data ); my $sql = "insert into my_table ($col_spec) values ($val_spec)";