in reply to Re^3: Should this happen?
in thread Should calling 'exists' create a hash key?

Quoting perldoc perlref:

This is one of the cases we mentioned earlier in which references could spring into existence when in an lvalue context. Before this statement, $array[$x] may have been undefined. If so, it's automatically defined with a hash reference so that we can look up "{"foo"}" in it. Likewise "$array[$x]->{"foo"}" will automatically get defined with an array reference so that we can look up "[0]" in it. This process is called autovivification.

Going by the documentation it would seem to have a specific, clear definition: autovivification is the process of automatically creating a new reference (hashref or arrayref) to an anonymous data structure in an lvalue context. Automatically extending an array doesn't create a reference to a new anonymous data structure, it merely increases the size of an existing one.

But yes, this is degenerating into pedantry . . . :)