Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Fetch array of values from hashref

by Eily (Monsignor)
on Sep 10, 2019 at 15:27 UTC ( #11105972=note: print w/replies, xml ) Need Help??

in reply to Fetch array of values from hashref

AnomalousMonk showed you the all-weather syntax. But in later version of perls you can also use Postfix Dereference Syntax:

perl -E "$h = {a=>1, b=>2, c=>3, d=>4}; @k = qw(b d); say for $h->@{@k +};" 2 4
You can see ->@{ } as a "Slice on a ref" operator. I like the fact that it prevents having nested parts both on the accessed variable and the accessors itself (or said another way, you only need one set of {}). But this syntax is less well known and understood (and not always consistent with the rest of the perl syntax).

If the hash is not too big though, copying the content of %$h into %temp and then using the @temp{@keys} format is maybe the less confusing option though.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2020-09-26 04:59 GMT
Find Nodes?
    Voting Booth?
    If at first I donít succeed, I Ö

    Results (141 votes). Check out past polls.