use strict; use Data::Dumper; my %h1 = (a => 1, b => 2, c => 3); my %h2 = (a => 6, b => 8, c => 0); my %h3 = map {$_ => $h1{$_} + $h2{$_}} keys %h1; print Dumper \%h3; #### $VAR1 = { 'c' => 3, 'b' => 10, 'a' => 7 }; #### my %h3 = map {$_ => $h1{$_} + $h2{$_}} keys %h1; #### my %h3 = map {$_ => $h1{$_} + $h2{$_}} keys %h1, keys %h2;