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;