my %Diffs = ((map(($_ => [$R{$_}, undef]), grep {not exists $S{$_}} keys %R)), (map(($_ => [undef, $S{$_}]), grep {not exists $R{$_}} keys %S)), (map(($_ => [$R{$_}, $S{$_}]), grep {exists $S{$_} and $R{$_} ne $S{$_}} keys %R)));