in reply to Why does exists cause autovivication?

Fortunately, the autovivification pragma is now available on CPAN.

Just put:

no autovivification;

at the top of the scope you want it to take effect in. (Or wherever you want it to take effect.)

This of course solves the problem with trying out 'exists' on multiple levels of hash.