in reply to Re: creating defined references to arrays of size zero
in thread creating defined references to arrays of size zero

my $CurrentArrayRef = $Stacks{nonexistant} || [];

Better yet:

my $CurrentArrayRef = $Stacks{ nonexistant } ||= [];
This initializes $Stacks{ nonexistant } conditionally, and assigns its value to $CurrentArrayRef, thereby making this line:
# Now (re)store the contents into the stack $Stacks{nonexistant} = $CurrentArrayRef;
unnecessary.

the lowliest monk