my $a; # undef my $b = 1; my @array = ( [4, 3], [2, 1], ); print $array[$b]->[$b]; # 1 print $array[$b]->[$a]; # Use of uninitialized value in array element, but prints 2 print $array[$a]->[$b]; # Use of uninitialized value in array element, but prints 3