%Hash1 key 1 => '1' key 15 => '3' key 150 => '1' #### %Hash2 key 1 => '1' key 15 => '1' key 140 => '1' #### %CombinedHash key 1 => '2' key 15 => '4' key 140 => '1' key 150 => '1' #### my %muthash = ( key1 => '1', key15 => '3', key150 => '1', ); my %copyhash ( key1 => '1', key15 => '1', key140 => '1', ); my %mergedhash; %mergedhash = map {$_=> $muthash{$_} + $copyhash{$_} } (keys %muthash,keys %copyhash); #### my $fileoutput = $name." COMB".".csv"; open (OUTPUT,">Input/$fileoutput") or die "Could not open output file\n"; foreach my $gene (keys %mergedhash) { print OUTPUT "$gene",",","$mergedhash{$gene}","\n"; } close (OUTPUT);