my $array_1 = [ 1, 2, 3 ]; # 1d
my $array_2 = [ [1, 2, 3], [1, 2, 3], [1, 2, 3] ]; #2d
my $array_3 = [
[ [1, 2, 3], [1, 2, 3], [1, 2, 3] ],
[ [1, 2, 3], [1, 2, 3], [1, 2, 3] ],
[ [1, 2, 3], [1, 2, 3], [1, 2, 3] ],
]; # 3d
... etc.
####
$array_1->[$x];
$array_2->[$x][$y];
$array_3->[$x][$y][$z];
... etc.
####
my %array = ();
$array{$x1,$y1,$z1} = something;
$array{$x2,$y2,$z2} = something else;
...