my $num_cols = @{ $AoA[0] };
for my $col (0..$num_cols-1) {
for my $row (0..$#AoA) {
...
}
}
####
my $num_cols = @{ $AoA[0] };
for my $col (0..$num_cols-1) {
my @col = map $_->[$col], @AoA;
...
}
####
sub consensus {
my %counts;
$counts{$_}++ for @_;
my ($consensus) =
sort { $counts{$b} <=> $counts{$a} }
keys(%counts);
return ( $counts{$consensus} / @_ >= 0.6
? $consensus
: 'A'
);
}
{
my $num_cols = @{ $AoA[0] };
my @combined;
for my $col (0..$num_cols-1) {
push @combined, consensus( map $_->[$col], @AoA );
}
print(join(', ', @combined), "\n");
}