in reply to dimensioning arrays

You can't define a Perl array to have certain number of dimensions, or a certain number of elements. This is because of a (generally very useful) feature called autovivification. This means that you could just write code like:

my @arr; $arr[0][1][2][3] = 4;

And suddenly you have a four dimensional array where the first dimension has one element, the second two and so on. The element that you haven't given values to will have the special value undef.

And as for passing multidimensional structures like this to a subroutine, you're better off doing it with references. See perlreftut, perllol and perldsc for more details.

--
<http://www.dave.org.uk>

"Perl makes the fun jobs fun
and the boring jobs bearable" - me