c:\@Work\Perl\monks>perl -wMstrict -MO=Deparse,-p -le "my %h1 = qw( a 1 b 2 c 3 ); my %h2 = qw( b 7 c 8 d 4 ); my %h3 = map { $_ => $h1{$_} // 0 + $h2{$_} // 0 } keys %h1, keys %h2; " BEGIN { $^W = 1; } BEGIN { $/ = "\n"; $\ = "\n"; } use strict 'refs'; (my(%h1) = ('a', '1', 'b', '2', 'c', '3')); (my(%h2) = ('b', '7', 'c', '8', 'd', '4')); (my(%h3) = map({($_, (($h1{$_} // (0 + $h2{$_})) // 0));} keys(%h1), keys(%h2))); -e syntax OK