http://qs1969.pair.com?node_id=787156


in reply to column major or row major.

Two-dimensional arrays in Perl are implemented either as arrays of array references (where the references may reference arrays that are stored at any arbitrary memory location), or using hashes where there are special separators in the hash keys.

Neither of these methods guarantees the order in which the elements are stored in memory, and there is no straightforward way to iterate over the elements in sequence. Therefore the concept of row major cannot be applied imho.

If one needs a two-dimensional structure on a one-dimensional array, it's usually done by hand as in $array[$row * $columncount + $column]. Maybe one could use operator overloading to access these kinds of arrays with the usual $array[$row][$column] syntax.