develooper Front page | perl.perl5.porters | Postings from August 2013

Re: postfix dereference syntax

Thread Previous | Thread Next
From:
Brad Baxter
Date:
August 14, 2013 20:44
Subject:
Re: postfix dereference syntax
Message ID:
CANBtU9bQWwODZeS6Oo7qBzbmOUb9ZDsjorc3LPTN=LGjjDsqrg@mail.gmail.com
On Wed, Aug 14, 2013 at 2:22 PM, Johan Vromans <jvromans@squirrel.nl> wrote:

> Father Chrysostomos <sprout@cpan.org> writes:
>
> > Ricardo Signes wrote:
> >> « $x->@* acts exactly like @$x » is the rule.  "Except in
> interpolation" would
> >> be the exception.
> >
> > So we allow "$x->@*" and "$$x->@*" and "$x->$*->@*".
> >
> > What about the brace forms?  How far does the equivalance of "@{...}"
> > and "...->@*" hold?
> >
> > "@{$foo}"     --> "$foo->@*"
> > "@{$foo[0]}"  --> "$foo[0]->@*"
> > "@{*$foo}" ???
> > "@{$foo->**}" --> "$foo->**->@*"
> > "@{$foo->()}" --> "$foo->()->@*"
> > "@{$foo++}"   --> "$foo++->@*"
> > "@{$foo ? bar() : []}" => "$foo ? bar() : []->@*"
>
> Which makes me think, once more, do we actualle *need* postfix
> dereference? Does it provide anything we cannot do already, albeit at
> the cost of an extra pair of braces? In other words: is it worth the
> effort?
>
> -- Johan


FWIW, I would never use (this incarnation of) postfix dereference.  I'm
sorry, but to my eye $foo->@* is not prettier than @{$foo}.  And I
understand the latter.

That is to say, with the latter, I know exactly where the entity being
dereferenced begins and ends.  With the former--phew--you got me.

Regards,

Brad
​​

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About