Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: sorting array of arrays

by AnomalousMonk (Bishop)
on Jan 18, 2020 at 20:13 UTC ( #11111581=note: print w/replies, xml ) Need Help??


in reply to sorting array of arrays

Further to hippo's post:   Note that going a step further and enabling strictures with  use strict; would have prevented the code from compiling in the first place:

c:\@Work\Perl\monks>perl -le "use strict; use warnings; ;; my @ar = ([1,12],[8,3],[4,57],[22,5]); my @sort = sort{$a[1]<=>$b[1]}@ar; foreach (@sort){ print \"@$_\n\";} " Global symbol "@a" requires explicit package name at -e line 1. Global symbol "@b" requires explicit package name at -e line 1. Execution of -e aborted due to compilation errors.
(I have to admit the  Global symbol "@a" requires explicit package name ... etc messages are slightly more obscure, but they explicitly point you to the offending variable.)

See also How do I sort an array by (anything)? in the Data: Arrays section of perlfaq4.


Give a man a fish:  <%-{-{-{-<

Replies are listed 'Best First'.
Re^2: sorting array of arrays
by fanasy (Acolyte) on Jan 20, 2020 at 03:33 UTC
    you miss "->"
    use strict; use warnings; ;; my @ar = ([1,12],[8,3],[4,57],[22,5]); my @sort = sort{$a->[1]<=>$b->[1]}@ar; foreach (@sort){ print "@$_\n";}

    PS D:\perl\perlmonks> perl .\sort.pl
    8 3
    22 5
    1 12
    4 57

      But the point of my post and part of the point of hippo's before it is that if warnings and/or strict had been used, Perl would not have, so to speak, "missed" the  -> operator.

      Update: Oh... Or did you mean to respond to the OP?


      Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2020-04-03 09:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    The most amusing oxymoron is:
















    Results (27 votes). Check out past polls.

    Notices?