chomp(my @unsorted = ()); map{ $_ =~ s/(\d+),(\w+)/$2,$1/ } @unsorted; my @sorted = sort { $a cmp $b } @unsorted; say for @sorted; #### chomp(my @unsorted = ()); my @sorted = sort { (split(',',$a))[1] cmp (split(',',$b))[1] || (split(',',$a))[0] cmp (split(',',$b))[0] } @unsorted; say for @sorted;