use MONKEY; my %a; my %b; #%a = "orig"; #%b = "new"; %a = 1; %b = 2; %a = 2; %b = 1; %a.merge(%b).say; say %b; augment class Hash { method merge (%b) { hashmerge self, %b; self; } sub hashmerge (%merge-source, %merge-into) { for %merge-source.keys { if %merge-into{$_}:exists { hashmerge %merge-source{$_}, %merge-into{$_}; } else { %merge-into{$_} = %merge-source{$_}; } } %merge-into; } }