my @matrix = ( [ qw(ab cd ef gh)], [ qw(ij kl mn op)], [ qw(qr st uv wx)] ); # should become my @transposed = ( [ qw(ab ij qr)], [ qw(cd kl st)], [ qw(ef mn uv)], [ qw(gh op wx)] );