in reply to Changing ASCII collating sequence for sort
Like this?
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11143026 use warnings; use List::AllUtils qw( sort_by ); print <<'EOF'; .,-;:!?"'`_#$%&*+/|=@\^~()<>[]{}0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmN +nOoPpQqRrSsTtUuVvWwXxYyZz intended sequence !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde +fghijklmnopqrstuvwxyz{|}~ natural ASCII sequence EOF my @list = qw{ "Hello" Abel (hello) {adieu} @adieu [goodbye] Charlie ^ +Charlie ~Adieu zebra 21708 baker . - ; : ! ? " ' ` _ }; my @normalsorted = sort @list; print "@normalsorted\n\n"; my @newsorted = sort_by { tr/ .,\-;:!?"'`_#$%&*+\/|=@\\^~()<>[]{}01234 +56789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz/ -~/r } @li +st; print "@newsorted\n\n";
Outputs:
.,-;:!?"'`_#$%&*+/|=@\^~()<>[]{}0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmN +nOoPpQqRrSsTtUuVvWwXxYyZz intended sequence !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde +fghijklmnopqrstuvwxyz{|}~ natural ASCII sequence ! " "Hello" ' (hello) - . 21708 : ; ? @adieu Abel Charlie [goodbye] ^C +harlie _ ` baker zebra {adieu} ~Adieu . - ; : ! ? " "Hello" ' ` _ @adieu ^Charlie ~Adieu (hello) [goodbye] { +adieu} 21708 Abel baker Charlie zebra
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Changing ASCII collating sequence for sort
by ikegami (Patriarch) on Apr 18, 2022 at 14:06 UTC | |
|
Re^2: Changing ASCII collating sequence for sort
by etj (Priest) on Apr 17, 2022 at 19:07 UTC | |
by tybalt89 (Monsignor) on Apr 17, 2022 at 19:23 UTC | |
by etj (Priest) on Apr 17, 2022 at 19:31 UTC | |
by tybalt89 (Monsignor) on Apr 17, 2022 at 19:40 UTC | |
by etj (Priest) on Apr 17, 2022 at 20:07 UTC |