$ 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]}