my @row0 = (1, 0, 0); my @row1 = (0, 1, 0); my @row2 = (0, 0, 1); my @arr = ( \@row0, \@row1, \@row2 ); for ( $i = 0; $i < 3; $i++ ) { for ( $j = 0; $j < 3; $j++ ) { print "arr[$i][$j] = $arr[$i][$j]\n"; } } # works perfectly print "*" x 80, "\n"; my @another = \$arr[1]; for ( $i = 0; $i < 3; $i++ ) { print "another[$i] = $another->[$i]\n"; } # while this loop prints blanks