#! perl -slw
use strict;
use Data::Dump qw[ pp ];
my @AoAs = (
[ qw[ TTVVRRRDR KFRQLLWFH RSQSPRRRR CSPHHTALR WIRTPPAYR VVRRRDRGR
+HISCLTFGR RTPSPRRRR NTNMGLKFR LVSFGVWIR ] ],
[ qw[ AILCWGELM TVLEYLVSF GLKFRQLLW LSFLPSDFF LLSFLPSDF LLWFHISCL
+MQLFHLCLI QLFHLCLII ATVELLSFL ALRQAILCW ] ],
[ qw[ TTVVRRRDR CSPHHTALR WIRTPPAYR NVNMGLKIR LVSFGVWIR HISCLTFGR
+] ],
[ qw[ CSPHHTALR YVNTNMGLK WIRTPPAYR TLPETTVVR HISCLTFGR NTNMGLKIR
+WGMDIDPYK LVSFGVWIR ] ],
);
my %freq; map ++$freq{ $_ }, @$_ for @AoAs;
@$_ = sort{ $freq{ $b } <=> $freq{ $a } } @$_ for @AoAs;
pp \@AoAs
__END__
C:\test>1169316
[
["CSPHHTALR", "WIRTPPAYR", "HISCLTFGR", "LVSFGVWIR", "TTVVRRRDR", "K
+FRQLLWFH", "RSQSPRRRR", "VVRRRDRGR", "RTPSPRRRR", "NTNMGLKFR"],
["AILCWGELM", "TVLEYLVSF", "GLKFRQLLW", "LSFLPSDFF", "LLSFLPSDF", "L
+LWFHISCL", "MQLFHLCLI", "QLFHLCLII", "ATVELLSFL", "ALRQAILCW"],
["CSPHHTALR", "WIRTPPAYR", "LVSFGVWIR", "HISCLTFGR", "TTVVRRRDR", "N
+VNMGLKIR"],
["CSPHHTALR", "WIRTPPAYR", "HISCLTFGR", "LVSFGVWIR", "YVNTNMGLK", "T
+LPETTVVR", "NTNMGLKIR", "WGMDIDPYK"],
]
Update: you might want to include a tie-break for those with an equal frequency to ensure consistency. Eg. Here I've used increasing aplha ordering as the tie break which makes the output more consistent: #! perl -slw
use strict;
use Data::Dump qw[ pp ]; $Data::Dump::WIDTH = 200;
my @AoAs = (
[ qw[ TTVVRRRDR KFRQLLWFH RSQSPRRRR CSPHHTALR WIRTPPAYR VVRRRDRGR
+HISCLTFGR RTPSPRRRR NTNMGLKFR LVSFGVWIR ] ],
[ qw[ AILCWGELM TVLEYLVSF GLKFRQLLW LSFLPSDFF LLSFLPSDF LLWFHISCL
+MQLFHLCLI QLFHLCLII ATVELLSFL ALRQAILCW ] ],
[ qw[ TTVVRRRDR CSPHHTALR WIRTPPAYR NVNMGLKIR LVSFGVWIR HISCLTFGR
+] ],
[ qw[ CSPHHTALR YVNTNMGLK WIRTPPAYR TLPETTVVR HISCLTFGR NTNMGLKIR
+WGMDIDPYK LVSFGVWIR ] ],
);
my %freq; map ++$freq{ $_ }, @$_ for @AoAs;
@$_ = sort{ $freq{ $b } <=> $freq{ $a } || $a cmp $b } @$_ for @AoAs;
pp \@AoAs
__END__
C:\test>1169316
[
["CSPHHTALR", "HISCLTFGR", "LVSFGVWIR", "WIRTPPAYR", "TTVVRRRDR", "K
+FRQLLWFH", "NTNMGLKFR", "RSQSPRRRR", "RTPSPRRRR", "VVRRRDRGR"],
["AILCWGELM", "ALRQAILCW", "ATVELLSFL", "GLKFRQLLW", "LLSFLPSDF", "L
+LWFHISCL", "LSFLPSDFF", "MQLFHLCLI", "QLFHLCLII", "TVLEYLVSF"],
["CSPHHTALR", "HISCLTFGR", "LVSFGVWIR", "WIRTPPAYR", "TTVVRRRDR", "N
+VNMGLKIR"],
["CSPHHTALR", "HISCLTFGR", "LVSFGVWIR", "WIRTPPAYR", "NTNMGLKIR", "T
+LPETTVVR", "WGMDIDPYK", "YVNTNMGLK"],
]
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
In the absence of evidence, opinion is indistinguishable from prejudice.
|