#Load Array push @FruitAoA, [Fruit,Apple,Red]; push @FruitAoA, [Fruit,Bananna,Yellow]; push @FruitAoA, [Fruit,Orange,Orange]; push @FruitAoA, [Fruit,Kiwi,Green]; &PrintArray; &PrintArray2("@FruitAoA"); #Print Array with Array Name Hardcoded sub PrintArray { for $i ( 0 .. $#FruitAoA ) { for $j ( 0 .. $#{ $FruitAoA[$i] } ) { print "$FruitAoA[$i][$j]\n"; } } } #Trying to Print Array by Reference sub PrintArray2 { my $AoA = @_; for $i ( 0 .. $#AoA ) { for $j ( 0 .. $#{ $AoA[$i] } ) { print "$AoA[$i][$j]\n"; } } }