- 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
- or download this
print for sort{ $b cmp $a } qw[ 1 10 100 2 20 21 3 300 ];;
300
...
100
10
1
- or download this
print for sort{ $b <=> $a } qw[ 1 10 100 2 20 21 3 300 ];
300
...
3
2
1
- or download this
print for sort{
substr( $a, 1 ) <=> substr( $b, 1 )
...
D222
A473
B659
- 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'];
- or download this
@sorted = map{
$_->[1]
...
print Dumper @sorted;;
VAR1 = 'E001'; $VAR2 = 'C123'; $VAR3 = 'D222'; $VAR4 = 'A473'; $VAR5 =
+ 'B659';
- or download this
print for map{
$_->[2]
...
A473
B659
C659
- or download this
print for map{
## Chop off the bit we added.
...
D222
A473
B659
- or download this
print for map{
unpack 'x[N] A*', $_
...
D222
A473
B659
- or download this
print for map{
unpack 'x[NA1]A*', $_
...
A473
B659
C659