${$lHashRef}{'a'} is just the "canonical" version of $$lHashRef{'a'}. In the former syntax, $lHashRef can be replaced by any expression that evaluates to a hash reference. In the latter syntax, thorny issues of precedence arise if $lHashRef is replaced by anything other than another scalar hash reference.
c:\@Work\Perl\monks>perl -wMstrict -le "my $s = undef; my $t = 0; my $u = { qw(a aye b bee) }; ;; print ${ $s || $t || $u }{a}; " aye
Give a man a fish: <%-(-(-(-<
In reply to Re^3: hash dereferencing issue with perl 5.16.3
by AnomalousMonk
in thread hash dereferencing issue with perl 5.16.3
by KANAKADANDI
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |