$ perl -Mv5.14 -e'my @a; \$a[0]; say exists( $a[0] ) || 0;'
1
####
use Devel::Peek;
my @z;
$a = \$z[1];
say "\$z[$_] exists: ", exists( $z[$_] ) || 0 for 0..2;
say '---Dump @z';
Dump @z;
say '---Dump $z[0]';
Dump $z[0];
say '---Dump $z[1]';
Dump $z[1];
####
$z[0] exists: 0
$z[1] exists: 1
$z[2] exists: 0
---Dump @z
SV = PVAV(0x2770318) at 0x27a4930
REFCNT = 1
FLAGS = ()
ARRAY = 0x2787080
FILL = 1
MAX = 3
FLAGS = (REAL)
Elt No. 0
SV = 0 ### 0
Elt No. 1
SV = NULL(0x0) at 0x2783d70
REFCNT = 2
FLAGS = ()
---Dump $z[0]
SV = NULL(0x0) at 0x7a91d0 ### NULL (WTF?)
REFCNT = 2147483641
FLAGS = (READONLY,PROTECT)
---Dump $z[1]
SV = NULL(0x0) at 0x2783d70
REFCNT = 2
FLAGS = ()