#!/usr/bin/perl -w use strict; use Data::Dumper; #gene name and gene ID my %gene = ( "NCRNA00115" => "79854", "SAMD11" => "148398", "NOC2L" => "26155", "PLEKHN1" => "84069", "HES4" => "57801" ); # Let's add multiple key value pairs to the existing hash # push new data into a hash with $hash{key}=$value; # To add a second hash to the first, use @first{keys %second} = values %second while(){ chomp; my ($key, $value) = split; push @{$gene{$key}}, $value; } print Dumper(\%gene); __DATA__ ATAD3B 83858 ATAD3A 55210 SSU72 29101 SLC35E2 9906 GNB1 2782 TMEM52 339456