Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

one-liner to merge arrays (Re: A C-like brain in a Perl-like world)

by andye (Curate)
on Sep 27, 2001 at 19:43 UTC ( #115124=note: print w/ replies, xml ) Need Help??


in reply to A C-like brain in a Perl-like world

my @merged = values %{{ map {$_ => $_ } @array1,@array2 }} ;
The double-curlies are necessary - with single-curlies the interpreter whines and dies. If anyone can explain why, I'd be interested.

andy.


Comment on one-liner to merge arrays (Re: A C-like brain in a Perl-like world)
Download Code
(jeffa) Re: one-liner to merge arrays
by jeffa (Chancellor) on Sep 27, 2001 at 23:25 UTC
    The reason why is because your map is evaluating into a hash reference, not a hash - values take a hash for it's argument, not a hash reference. Now, if you use a tempory hash reference instead, the reason for the double curlies becomes much more apparent:
    my $hash = { map {$_ => $_ } @a,@b }; my @merged = values %{ $hash };
    Good question, by the way :)

    jeffa

Re: one-liner to merge arrays (Re: A C-like brain in a Perl-like world)
by extremely (Priest) on Sep 27, 2001 at 23:42 UTC
    Lets look at it blown out:
    = values %{{ map {$_ => $_ } @a,@b }} ; = values # I want a hash and return a list %{ } # I turn a hashref into a hash { } # I turn a list into a hashref map { } @a,@b # I return a list from a list => , # We construct lists

    HTH...

    --
    $you = new YOU;
    honk() if $you->love(perl)

      Thanks extremely and jeffa, it's all clear now.

      I should have realised, since the array equivalent would be @{[  ...  ]} , that the brackets were doing different things - but I'd managed to confuse myself.

      Cheers,
      Andy.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://115124]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2014-08-22 03:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (146 votes), past polls