Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Re: merging two hashes

by ikegami (Pope)
on Feb 08, 2006 at 20:53 UTC ( #528930=note: print w/replies, xml ) Need Help??

in reply to merging two hashes

While [ ... ] constructs an array, it returns a reference to the array, not the array itself. That means that $s->{aa}->{'1'} (for example) is a reference to an array. You need to dereference it.

my @a = ( @{$s->{aa}->{'1'}}, @{$s->{bb}->{'1'}}, @{$s->{cc}->{'1'}}, );

or (minimal change)

my @a = map { @$_ } ( $s->{aa}->{'1'}, $s->{bb}->{'1'}, $s->{cc}->{'1'}, );


my @a = map { @{$s->{$_}->{'1'}} } keys %$s;

Replies are listed 'Best First'.
Re^2: merging two hashes
by Roy Johnson (Monsignor) on Feb 08, 2006 at 22:20 UTC
    If you're not going to sort the keys, you can just use values
    my @a = map @{$_->{1}}, values %$s;

    Caution: Contents may have been coded under pressure.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://528930]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2017-06-28 11:29 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (632 votes). Check out past polls.