Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Re: sort mechanism

by extremely (Priest)
on Apr 06, 2001 at 23:17 UTC ( #70563=note: print w/ replies, xml ) Need Help??


in reply to Re: sort mechanism
in thread sort mechanism

No that doesn't work. The parens basically are no-ops there. a scalar is just a scalar. You would need @{$a} to explode the array.

update (GOOD band names =)

--
$you = new YOU;
honk() if $you->love(perl)


Comment on Re: Re: sort mechanism
Download Code
Replies are listed 'Best First'.
Re: Re: Re: sort mechanism
by McD (Chaplain) on Apr 06, 2001 at 23:32 UTC
    Um... right. I don't think I was completely clear - what I was trying to point out was that <=> has different behavior when comparing lists than when comparing scalars.

    Although comparing two lists of a single scalar each is, as you said, exactly like comparing the naked scalars.

    So what have we learned?

    1. I shouldn't node before coffee, no matter what the hour.
    2. "Naked Scalars" would be a pretty good name for a rock and roll band.
    3. So would "Spaceship Operator."
    4. I still can't find where <=>'s behavior in list context is documented.
    Peace,
    -McD
      The equality operators apply scalar context to both sides. Try this out and see. Operators apply context. I don't think they often respond to it but with perl anything is possible =)
      my @a = keys %env; my @b = values %env; my @c = ( "equal", "a > b", "b > a" ); print ($c[@a<=>@b]),$/;

      No really, damn good band names... =)

      --
      $you = new YOU;
      honk() if $you->love(perl)

        Ok, then riddle me this:

        #!/usr/local/bin/perl -l my @a = (1, 2, 3); my @b = (1, 2, 4); my @c = ( "equal", "a > b", "b > a" ); print ($c[@a<=>@b]); print ($c[@b<=>@a]); print ($c[(1, 2, 3)<=>(1, 2, 4)]); print ($c[(1, 2, 4)<=>(1, 2, 3)]);

        Produces:

        equal
        equal
        b > a
        a > b
        
        Something about the difference between an array and a list, I suspect - a distinction oft unclear in my mind, regardless of caffine levels.

        Peace,
        -McD

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (9)
As of 2015-07-31 04:21 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 (274 votes), past polls