in reply to looping over multidimensional arrays

I hope this code is of help...
A multi-dimensional array is built by making arrays of references to array. You don't get to the actual data until the last dimension.
Here I explicitly build a 2D structure, what is called an AoA (Array of Array).
#!/usr/bin/perl use strict; use warnings; use Data::Dump qw(pp); my @row1 = qw(a b c); my @row2 = qw(d e f); my @AoA = (\@row1, \@row2); pp \@AoA; # [["a", "b", "c"], ["d", "e", "f"]] foreach my $my_row_ref (@AoA) { print "@$my_row_ref \n"; } #a b c #d e f print "$AoA[1][1]\n"; #prints "e" #print column1... foreach my $my_row_ref (@AoA) { print "$my_row_ref->[1] \n"; } #b #e