$ perl -e 'use strict; > use warnings; > > my @a = qw / d1180 a1180 E1180 D250 A1180 E855 E975 A130 A250 B1105 b1255 b2480 c1180 c1600 e855 e975 a130 A250 B1105 B1255 B2480/; > > print "$_\n" > for map "$_->[0]$_->[1]", > sort { $a->[1] <=> $b->[1] || uc $a->[0] cmp uc $b->[0]} > map { /([a-zA-Z]+)(\d+)/; [$1, $2]} @a;' A130 a130 A250 A250 D250 E855 e855 E975 e975 B1105 B1105 a1180 A1180 c1180 d1180 E1180 b1255 B1255 c1600 b2480 B2480