my %h1 = %{ $_[0] }; #h2 similar #### my %h1 = (defined $_[0] and ref $_[0]) ? %{ $_[0] } : (); #### #### scalar grep { my ($a, $b) = ( $h1{$_}, $h2{$_} ); ( not defined $a and defined $b ) or ( not defined $b and defined $a ) or $a ne $b } @k1