$ cat foo.pl #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $hr = { KEY11=>{a=>1, b=>2, c=>3, d=>4}, KEY12=>{a=>10, b=>20, c=>30, d=>40} }; @{$$hr{KEY11}}{qw(a b)} = @{$$hr{KEY12}}{qw(c d)}; print Dumper($hr);