in reply to Re^3: two order sort
in thread two order sort
I forgot how to decorate for descending sort.
Just negate the field(s). Unary minus ('-') for numeric and boolean not ('~') for alpha:
# Ascending numeric and ascending alpha print for map{ unpack 'x[Na4]a*', $_ } sort map{ local $^W; pack 'Na4a*', (0+$_), substr( $_, 1), $_ } @a;; 0cjlf 0dvys 0uvmu 1akkn 1imwi 1lpys 1pjzw 2uwep 3hiyn 3jrkx 3myrn 3ozcw 3rqhx 3vkon 6excm 7axqf 7lbhj 8klfd 9ijei 9klou # Descending numeric and ascending alpha print for map{ unpack 'x[Na4]a*', $_ } sort map{ local $^W; pack 'Na4a*', -(0+$_), substr( $_, 1), $_ } @a;; 0cjlf 0dvys 0uvmu 9ijei 9klou 8klfd 7axqf 7lbhj 6excm 3hiyn 3jrkx 3myrn 3ozcw 3rqhx 3vkon 2uwep 1akkn 1imwi 1lpys 1pjzw # Ascending numeric and descending alpha print for map{ unpack 'x[Na4]a*', $_ } sort map{ local $^W; pack 'Na4a*', (0+$_), ~substr( $_, 1), $_ } @a;; 0uvmu 0dvys 0cjlf 1pjzw 1lpys 1imwi 1akkn 2uwep 3vkon 3rqhx 3ozcw 3myrn 3jrkx 3hiyn 6excm 7lbhj 7axqf 8klfd 9klou 9ijei # Decending numeric and descending alpha print for map{ unpack 'x[Na4]a*', $_ } sort map{ local $^W; pack 'Na4a*', -(0+$_), ~substr( $_, 1), $_ } @a;; 0uvmu 0dvys 0cjlf 9klou 9ijei 8klfd 7lbhj 7axqf 6excm 3vkon 3rqhx 3ozcw 3myrn 3jrkx 3hiyn 2uwep 1pjzw 1lpys 1imwi 1akkn
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^5: two order sort
by AnomalousMonk (Archbishop) on Mar 05, 2013 at 07:04 UTC | |
by BrowserUk (Patriarch) on Mar 05, 2013 at 15:11 UTC |
In Section
Seekers of Perl Wisdom