Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Re: Perl Idioms Explained - ${\$obj->method} and @{[sort @list]}

by bradb (Sexton)
on Aug 23, 2003 at 19:24 UTC ( #286098=note: print w/ replies, xml ) Need Help??


in reply to Re: Perl Idioms Explained - ${\$obj->method} and @{[sort @list]}
in thread Perl Idioms Explained - ${\$obj->method} and @{[sort @list]}

To be more precise, the \ operator gives its argument list context, which may surprise many people (it did me).

Why would this surprise you? :)

If I ask for a reference to an array that contains ('foo', 'bar', 'baz'), I expect a reference to an array that has three elements in it, not the number 3 (as would be the case if \ provided scalar context for its arguments.)


Comment on Re: Re: Perl Idioms Explained - ${\$obj->method} and @{[sort @list]}
Re^3: Perl Idioms Explained - ${\$obj->method} and @{[sort @list]}
by Aristotle (Chancellor) on Aug 24, 2003 at 07:31 UTC
    That doesn't explain it. \('foo', 'bar', 'baz') is the same as (\'foo', \'bar', \'baz'). Taking a reference to an array certainly doesn't behave that way.

    Makeshifts last the longest.

Re^3: Perl Idioms Explained - ${\$obj->method} and @{[sort @list]}
by adrianh (Chancellor) on Aug 24, 2003 at 11:31 UTC

    Read Arrays are not lists and Scalars, Lists, and Arrays and repeat to yourself three times - "('foo', 'bar', 'baz') is not an array" ;-)

    I'm with Abigail-II. The \ operator has lots of weird cases that surprise you. For example:

    \@foo # reference to array @foo \(@foo, $a) # list of reference to array @foo and scalar $a \(@foo) # list of references to contents of @foo
      Read Arrays are not lists and Scalars, Lists, and Arrays and repeat to yourself three times - "('foo', 'bar', 'baz') is not an array" ;-)

      I can't be blamed if you don't read my post. ;-) I didn't say ('foo', 'bar', 'baz') was an array, I said If I ask for a reference to an array that contains ('foo', 'bar', 'baz').

      HTH.

        My bad ;-)

        However, I think the point about the non-obvious behaviour of the \ operator still stands.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://286098]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (6)
As of 2015-07-06 22:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (84 votes), past polls