in reply to Re: Array of Arrays: why is "$VAR1->[0][1]" and the like embedded within?
in thread Array of Arrays: why is "$VAR1->[0][1]" and the like embedded within?

++NetWallah.

corenth: You can visualise what NetWallah said by writing your own display loop:

use strict; use warnings; use Data::Dumper; my @a = (1, 2, 3, 4, 6); my $y = increment(increment(\@a)); for my $j (@$y) { print "[\n"; for my $k (@$j) { print " $k: @$k\n"; } print "]\n"; } sub increment ...

Output:

14:12 >perl 1896_SoPW.pl [ ARRAY(0x1db5610): 1 2 ARRAY(0x1d284d8): 2 3 ] [ ARRAY(0x1d284d8): 2 3 ARRAY(0x1d28640): 3 4 ] [ ARRAY(0x1d28640): 3 4 ARRAY(0x1d28a00): 4 6 ] 14:12 >

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^3: Array of Arrays: why is "$VAR1->[0][1]" and the like embedded within?
by NetWallah (Canon) on Jun 11, 2018 at 04:24 UTC
    or .. it may be easier to dump the elements of the output:
    print Dumper $_ for @{ increment(increment(\@a)) }; # Output: [ [ 1, 2 ], [ 2, 3 ] ] [ [ 2, 3 ], [ 3, 4 ] ] [ [ 3, 4 ], [ 4, 6 ] ]

                    Memory fault   --   brain fried

      Sure, that gives a better view of the contents of the data structure. But it doesn’t show that the second occurrence of the anonymous array [ 2, 3 ] has the same address as (= is the same anonymous array as) the first — which is what I was intending to demonstrate.

      Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

        But, it helps me see the relationship through the code --> pulling the values from the reference. This, and your visualization, are helping me look at how to manipulate the references to my needs, even when I'm still having trouble understanding the underlying issue.
        $state{tired}?sleep(40):eat($food);
Re^3: Array of Arrays: why is "$VAR1->[0][1]" and the like embedded within?
by corenth (Monk) on Jun 11, 2018 at 15:26 UTC
    I kind of get it, but it's still hard for me to visualize. I'm going to play with this along with everyone's code on this thread. It's a must that I get my head around it.
    $state{tired}?sleep(40):eat($food);