http://qs321.pair.com?node_id=736888


in reply to $x{1}{2} versus $x{1}->{2}

Hi. Well #1 and #2 are completely equivalent. #1 is the long form. The second form is just syntactic sugar for #1.

Perl does not do implicit dereferencing. $r being a reference you need the arrow or $$r{3} (which I like better written like ${ $r }{3} if not writing a one-liner). Maybe you can reread 'perldoc perlref' where you'll find quite a few examples. In particular look for "deref".

I usually stick with the arrow everywhere, except where you can't (e.g slices don't play well the arrow as the context imposed on the RHS is scalar, but hey you can write your own slice function if you find it prettier).

hth, cheers --stephan