On Thu, Jul 23, 2009 at 3:49 PM, Jacinta Richardson <span dir="ltr">&lt;<a href="mailto:jarich@perltraining.com.au">jarich@perltraining.com.au</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Sam Vilain wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
But surely you want to know another way, using scalar:<br>
$ib-&gt;{reg}{scalar LATEST_D_ACROSS_PRODUCTS}<br>
</blockquote>
<br></div>
You might also see:<br>
<br>
        $ib-&gt;{reg}{ LATEST_D_ACROSS_PRODUCTS . &quot;&quot; }<br>
<br>
but I think the @{[ ... ]} is cute, but terrible.  This is the same trick required for __PACKAGE__ and similar.<div><div></div><div class="h5"></div></div></blockquote><div><br>Of course, you don&#39;t want to be using that in the event LATEST_D_WHATEVER is in fact an array-returning constant doing parallel hash assignment :) <br>
<br>#!/usr/bin/perl<br>use strict;<br>use warnings;<br><br>use Moose::Autobox;<br><br>local $Data::Dumper::Indent = $Data::Dumper::Indent = 0;<br>local $Data::Dumper::Terse  = $Data::Dumper::Terse  = 1;<br><br>sub FOO() {<br>
  &#39;bar&#39;, &#39;baz&#39;;<br>}<br><br>my %hash;<br><br>@hash{ (FOO) } = ( 1, 2 );<br><br>%hash-&gt;dump-&gt;say; # {&#39;bar&#39; =&gt; 1,&#39;baz&#39; =&gt; 2}<br><br>@hash{ FOO() } = ( 3, 4 );<br><br>%hash-&gt;dump-&gt;say; # {&#39;bar&#39; =&gt; 3,&#39;baz&#39; =&gt; 4}<br>
<br>@hash{FOO} = ( 5 ); # Scalar value @hash{FOO} better written as $hash{FOO} at /tmp/ex.pl line 24.<br><br>%hash-&gt;dump-&gt;say; # {&#39;bar&#39; =&gt; 3,&#39;baz&#39; =&gt; 4,&#39;FOO&#39; =&gt; 5}<br><br>@hash{FOO . &quot;&quot; } = ( 6 );<br>
<br>%hash-&gt;dump-&gt;say; # {&#39;bar&#39; =&gt; 3,&#39;baz&#39; =&gt; 6,&#39;FOO&#39; =&gt; 5}<br><br>@hash{FOO . &quot;&quot; } = ( 7, 8 );<br><br>%hash-&gt;dump-&gt;say; # {&#39;bar&#39; =&gt; 3,&#39;baz&#39; =&gt; 7,&#39;FOO&#39; =&gt; 5}<br>
<br><br></div></div>-- <br>Kent <br><br>perl -e  &quot;print substr( \&quot;edrgmaM  SPA NOcomil.ic\\@tfrken\&quot;, \$_ * 3, 3 ) for ( 9,8,0,7,1,6,5,4,3,2 );&quot;<br><br><a href="http://kent-fredric.fox.geek.nz">http://kent-fredric.fox.geek.nz</a><br>