use strict; use Data::Dumper; my $x = { a => 1, b => 2, aa => { aaa => 11 } }; print Dumper($x); my $y = { c => 3, d => 4, aa => { bbb => 11 } }; print Dumper($y); $x = { %$x, %$y }; print Dumper($x); #### $VAR1 = { 'c' => 3, 'a' => 1, 'b' => 2, 'd' => 4, 'aa' => { 'bbb' => 11 } }; #### use Hash-Dumper qw/merge/; #### $x = { %$x, %$y }; #### $x = merge( $x, $y ); #### $VAR1 = { 'c' => 3, 'a' => 1, 'b' => 2, 'd' => 4, 'aa' => { 'bbb' => 11, 'aaa' => 11 } };