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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|