in reply to Re: Accessing an AoHoAoH
in thread Accessing an AoHoAoH

Good stuff, scooterm. Observation: with the scalar, it's brackets all the way. Question: does assigning the data structure to the scalar automatically make it a reference? So, there's no need to:
$chapters = \$chapters;
Right? Thanks.

—Brad
"A little yeast leavens the whole dough."

Replies are listed 'Best First'.
Re^3: Accessing an AoHoAoH
by dimar (Curate) on Jun 05, 2004 at 23:41 UTC

    You guessed it. You get to use square brackets for an array, and curly braces for an hash, and the syntax stays consistent thru the whole thing, no matter how deeply your data gets nested.

    The only time it gets a little 'funky' is when you want to treat your data like a regular array, for example, in a foreach loop. Actually, perldsc lays it all out.

    ### here we tell perl to treat the scalar as a ref ### to an array. foreach my $item (@{$chapters}){ print $item->{title}; }

    Side note: Data::Dumper is absolutely a plus. Sprinkle it into every script where you use a complex variable, in fact, sprinkle it everywhere. It's very useful.

Re^3: Accessing an AoHoAoH
by BUU (Prior) on Jun 05, 2004 at 22:53 UTC
    Assigning a reference to a scalar.. makes the scalar contain a reference! Theres no need to "initialize with a reference to itself as you seem to think. You do need to actually initialize something with a reference before you try to dereference it, unless strict is off.