# Decending numeric and descending alpha ... pack 'Na4a*', -(0+$_), ~substr( $_, 1), $_ ... ;; 0uvmu 0dvys 0cjlf 9klou 9ijei 8klfd ... 1imwi 1akkn #### >perl -wMstrict -le "print unpack 'H*', pack 'N', -0; print unpack 'H*', pack 'N', -1; print unpack 'H*', pack 'N', -2; print unpack 'H*', pack 'N', -9; print unpack 'H*', pack 'N', -10; print ''; ;; print unpack 'H*', pack 'N', ~0; print unpack 'H*', pack 'N', ~1; print unpack 'H*', pack 'N', ~2; print unpack 'H*', pack 'N', ~9; print unpack 'H*', pack 'N', ~10; " 00000000 ffffffff fffffffe fffffff7 fffffff6 ffffffff fffffffe fffffffd fffffff6 fffffff5 #### >perl -wMstrict -le "use List::Util qw(shuffle); ;; my @a = qw( 0uvmu 3rqhx 8klfd 2uwep 9klou 3jrkx 6excm 1imwi 7axqf 1lpys 0dvys 3ozcw 7lbhj 1pjzw 9ijei 3hiyn 3vkon 1akkn 0cjlf 3myrn ); ;; @a = shuffle @a; ;; print for map{ unpack 'x[Na4]a*', $_ } sort map{ local $^W; pack 'Na4a*', ~(0+$_), ~substr( $_, 1), $_ } @a " 9klou 9ijei 8klfd 7lbhj 7axqf 6excm 3vkon 3rqhx 3ozcw 3myrn 3jrkx 3hiyn 2uwep 1pjzw 1lpys 1imwi 1akkn 0uvmu 0dvys 0cjlf