in reply to Flat file in an array.

Storing and accessing stuff in a 2d array can get a little hairy syntactically. Here's some example code:
my $list = []; # let's start with an array ref while (<>) { chomp; push(@$list, [split(' ', $_)]); # note the array ref [] constructor } # access the i-j-th element: print "list[2][3] = ", $list->[2]->[3], "\n"; # access by rows: for my $i (0..$#$list) { print "number of elements in row $i: ", scalar(@{$list->[$i]}), "\n" +; print "last index of row $i = ", $#{$list->[$i]}, "\n"; } # access each element: for my $i (0..$#$list) { for my $j (0.. $#{$list->[$i]}) { print "list[$i][$j] = ", $list->[$i]->[$j], "\n"; } }
If you are doing a lot of matrix operations on your 2D-arrays, you might look into PDL as an alternative.