tr[0-4AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz5-9][\x00-\xff]; #### #! perl -slw use strict; sub trans { my $in = shift; $in =~ tr[0-4AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz5-9] [\x00-\xff]; return $in; } chomp( my @data = ); my @sorted = sort{ trans( $a ) cmp trans( $b ) } @data; print for @sorted; __DATA__ cdef 0123456 abcd 50011 ABCD 4999 Zxyw CDEF zxyw 9999 #### c:\test>junk78 0123456 4999 ABCD abcd CDEF cdef Zxyw zxyw 50011 9999