<div dir="ltr"><div><br></div>There is also $cr->&*, which works like $cr->(@_), possibly without creating a new stack frame, like goto &$cr. Otherwise I don't understand its necessity.<br><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Aug 13, 2013 at 9:14 PM, David Nicol <span dir="ltr"><<a href="mailto:davidnicol@gmail.com" target="_blank">davidnicol@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Postfix dereferencing may be available in 5.20.<br></div>
<div><br></div><div>Postfix dereferencing means, instead of putting the sygil on the left side of a name or a scalar holding a reference, you put it on the right end like a method call.</div><div><br></div><div>There are six new postfix dereferencing operators, along with the postfix method calls and scalar container member extraction we've had forever.</div>

<div><br></div><div>Pre-existing postfix dereferencing syntax:</div><div>  $obj->METHODNAME  send a METHODNAME invocation message to $obj</div><div>  $obj->METHODNAME(...)  send a METHODNAME invocation message to $obj, with args</div>

<div>  $ar->[N]              look up an element in an array, like $$ar[N]<br></div><div>  $hr->{STRING}   look up a value in a hash, like $$hr{STRING}</div><div>  $cr->(...)             run the code in a code reference with ... as arguments</div>

<div><br></div><div>New postfix dereferencing syntax:</div><div>  $sr->$*               dereference a reference to a scalar, like $$sr</div><div>  $ar->@*             dereference a reference to an array, like @$ar</div>

<div>  $ar->@[...]         array reference slice, like @$ar[...]</div><div>  $hr->@{...}         hash reference slice, like @$hr{...}</div><div>  $gr->**                dereference a reference to a typeglob, like *$gr</div>

<div>  $gr->*{...}            access a slot in a typeglob reference, like *$gr{...}</div><div><br></div><div><br></div><div>As arrow binds tighter than the \ take-a-reference operator, taking references remains prefix only.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div><div><br></div></font></span></div><span class="HOEnZb"><font color="#888888">-- <br><font face="Arial"><span style="font-size:15.555556297302246px;white-space:pre-wrap">You've got to wiggle before you can crawl<br>
</span></font>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><font face="Arial"><span style="font-size:15.555556297302246px;white-space:pre-wrap">You've got to wiggle before you can crawl<br></span></font>
</div></div>