#!/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