my @unsorted = qw/Psdf lPik Easd aKwe SSdf eqwer scfgh Oegb rqwer T/; print "pre sorted: @unsorted\n"; my @sorted = map substr($_, 1), sort map { /^[a-z]/ ? "A$_" : "B$_" } @unsorted; print "post sorted: @sorted\n"; __output__ pre sorted: Psdf lPik Easd aKwe SSdf eqwer scfgh Oegb rqwer T post sorted: aKwe eqwer lPik rqwer scfgh Easd Oegb Psdf SSdf T