Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re^4: Dangerous Names

by samtregar (Abbot)
on Dec 17, 2008 at 22:05 UTC ( #731075=note: print w/replies, xml ) Need Help??

in reply to Re^3: Dangerous Names
in thread Dangerous Names

Ok - but do you find it unusual that sort { $a <=> $b } doesn't die, but sort { $a->[0] <=> $b->[0] } does?


Replies are listed 'Best First'.
Re^5: Dangerous Names
by ikegami (Pope) on Dec 17, 2008 at 22:09 UTC

    Ah, I see what you mean. You're wrong about it dying, though. It's only warning.

    I don't find it unusual since I've previously heard that { $a cmp $b }, { $a <=> $b }, { $b cmp $a } and { $b <=> $a } are handled specially to avoid having to call a Perl sub repeatedly.

    While I don't find it unusual, I do think the difference in behaviour is a bug.

      Oh, right, I have die on warnings running in this context I think.

      UPDATE: No, actually it does die. This is not a warning. Observe:

      $ perl -e '@names = (["Nan Tregar"], ["Sam Tregar"]); eval { @names + = sort { $a->[0] <=> $b->[0] } @names; }; print "ERROR WAS: $@"' ERROR WAS: Sort subroutine didn't return a numeric value at -e line + 1.


        Oops, I guess I flubbed my test code.

        I submitted a bug report.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2020-07-06 21:48 GMT
Find Nodes?
    Voting Booth?

    No recent polls found