There's no need to create the %x hash then take a reference to it in $x, just use $x directly. Also, there's no need for the first foreach, just copy $h1 into $x.
johngg@shiraz:~/perl/Monks > perl -Mstrict -Mwarnings -MData::Dumper - +E ' my $h1 = { location_setting => [ q{409} ], status => [ q{501} ], }; my $h2 = { status => [ qw{ 137 124 } ], location_setting => [ q{405} ], classification => [ q{0} ], }; my $x = { %{ $h1 } }; push @{ $x->{ $_ } }, @{ $h2->{ $_ } } for keys %{ $h2 }; print Data::Dumper->Dumpxs( [ $x ], [ qw{ x } ] );' $x = { 'classification' => [ '0' ], 'status' => [ '501', '137', '124' ], 'location_setting' => [ '409', '405' ] };
I hope this is of interest.
Cheers,
JohnGG
In reply to Re^2: Merge 2 array/Hash into 1 variable Perl
by johngg
in thread Merge 2 array/Hash into 1 variable Perl
by kris1511
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |