#! 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", "KFRQLLWFH", "RSQSPRRRR", "VVRRRDRGR", "RTPSPRRRR", "NTNMGLKFR"], ["AILCWGELM", "TVLEYLVSF", "GLKFRQLLW", "LSFLPSDFF", "LLSFLPSDF", "LLWFHISCL", "MQLFHLCLI", "QLFHLCLII", "ATVELLSFL", "ALRQAILCW"], ["CSPHHTALR", "WIRTPPAYR", "LVSFGVWIR", "HISCLTFGR", "TTVVRRRDR", "NVNMGLKIR"], ["CSPHHTALR", "WIRTPPAYR", "HISCLTFGR", "LVSFGVWIR", "YVNTNMGLK", "TLPETTVVR", "NTNMGLKIR", "WGMDIDPYK"], ] #### #! 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", "KFRQLLWFH", "NTNMGLKFR", "RSQSPRRRR", "RTPSPRRRR", "VVRRRDRGR"], ["AILCWGELM", "ALRQAILCW", "ATVELLSFL", "GLKFRQLLW", "LLSFLPSDF", "LLWFHISCL", "LSFLPSDFF", "MQLFHLCLI", "QLFHLCLII", "TVLEYLVSF"], ["CSPHHTALR", "HISCLTFGR", "LVSFGVWIR", "WIRTPPAYR", "TTVVRRRDR", "NVNMGLKIR"], ["CSPHHTALR", "HISCLTFGR", "LVSFGVWIR", "WIRTPPAYR", "NTNMGLKIR", "TLPETTVVR", "WGMDIDPYK", "YVNTNMGLK"], ]