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:
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).perl -E "$h = {a=>1, b=>2, c=>3, d=>4}; @k = qw(b d); say for $h->@{@k +};" 2 4
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.
|
---|
In Section
Seekers of Perl Wisdom