my @AoA_transposed = map { my $y = $_; [ map { $AoA[$_][$y] } 0 .. $#AoA ] } 0 .. $#{ $AoA[0] };