in reply to Re^2: Data with Letter(s) & Number sort query
in thread Data with Letter(s) & Number sort query
Notice that A250 and D250 are now sorted alphabetically on the initial letter. For a reverse alphabetical order on the letters, change the sort line to this:$ perl -e 'use strict; > use warnings; > use Data::Dumper; > > my @a = qw / E1180 D250 A1180 E855 E975 A130 A250 B1105 B1255 B2480 +C1180 C1600 D1180 /; > > print "$_\n" > for map "$_->[0]$_->[1]", > sort { $a->[1] <=> $b->[1] || $a->[0] cmp $b->[0]} > map { /([A-Z]+)(\d+)/; [$1, $2]} @a; > ' A130 A250 D250 E855 E975 B1105 A1180 C1180 D1180 E1180 B1255 C1600 B2480
sort { $a->[1] <=> $b->[1] || $b->[0] cmp $a->[0]}
|
|---|