in reply to Re: Multi-Dimensional Arrays and Array References
in thread Multi-Dimensional Arrays and Array References

Note that Perl 2D arrays do not need to have the same number of elements on each row!

nor even the same type of data:

use strict; use warnings; package PrintMe; use overload '""' => sub {return $_[0]{str};}; sub new { return bless {str => $_[1]}, $_[0]; } package main; my @mixedTable = ( [1 .. 5], {a => 1, b => 2, wibble => 'plop'}, PrintMe->new("The quick brown fox") ); for my $row (@mixedTable) { if ('ARRAY' eq ref $row) { print "@$row\n"; } elsif ('HASH' eq ref $row) { print join ', ', map{"$_ => $row->{$_}"} sort keys %$row; print "\n"; } else { print "$row\n"; } }

Prints:

1 2 3 4 5 a => 1, b => 2, wibble => plop The quick brown fox
Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond