Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

A brief tutorial on Perl's native sorting facilities.

by BrowserUk (Pope)
on Feb 09, 2007 at 13:04 UTC ( #599204=perltutorial: print w/ replies, xml ) Need Help??

Help for this page

Select Code to Download


  1. or download this
     print for sort qw[ 12 a123 a122 A123 B123 Ab123 aB123 456 1A23 1a23 ]
    +;;
    12          ## ord('1') == 49, ord('2') == 50
    ...
    a122
    a123
    aB123
    
  2. or download this
    print for sort{ $b cmp $a } qw[ 1 10 100 2 20 21 3 300 ];;
    300
    ...
    100
    10
    1
    
  3. or download this
    print for sort{ $b <=> $a } qw[ 1 10 100 2 20 21 3 300 ];
    300
    ...
    3
    2
    1
    
  4. or download this
    print for sort{ 
        substr( $a, 1 ) <=> substr( $b, 1 ) 
    ...
    D222
    A473
    B659
    
  5. or download this
    ## Build an array of anonymous arrays, 
    ## each of which contains the sort field and the original element.
    ...
    print Dumper \@sorted;;
    
    $VAR1 = ['E001','C123','D222','A473','B659'];
    
  6. or download this
    @sorted = map{ 
        $_->[1] 
    ...
    
    print Dumper \@sorted;;
    $VAR1 = ['E001','C123','D222','A473','B659'];
    
  7. or download this
    print for map{ 
        $_->[2] 
    ...
    A473
    B659
    C659
    
  8. or download this
    print for map{ 
        ## Chop off the bit we added.
    ...
    D222
    A473
    B659
    
  9. or download this
    print for map{ 
        unpack 'x[N] A*', $_ 
    ...
    D222
    A473
    B659
    
  10. or download this
    print for map{ 
        unpack 'x[NA1]A*', $_ 
    ...
    A473
    B659
    C659
    
  11. or download this
    #! Perl -slw
    use strict;
    ...
    Jan 1997
    Jan 1998
    Dec 1998
    
  12. or download this
    C:\test>junk
    Jan 1997
    ...
    FY05
    Apr 2006
    Dec 2007
    

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (8)
As of 2014-09-18 20:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (124 votes), past polls