"b => {}" is required so that the presence of {c} can be checked.
And that's the part where I disagree. If $a->{b} doesn't exist, we know that $a->{b}{c} cannot exist, and perl could know too. The fact that such reads autovivify are really only due to a quirk in the implementation, and not deducible from a general rule like "autovivification happens only when it needs to".
In reply to Re^4: When DOESN'T "Use of uninitialized value" show up?
by moritz
in thread When DOESN'T "Use of uninitialized value" show up?
by Tim McDaniel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |