c:\@Work\Perl>perl -wMstrict -MData::Dump -le "use 5.012; ;; my @arrayrefs = \my (@A_0, @foo, @A_2, @A_3); ;; while (my ($i, $ar) = each @arrayrefs) { $ar->[$i] = 1000 + $i; } dd \@A_0; dd \@foo; dd \@A_2; dd \@A_3; " [1000] [undef, 1001] [undef, undef, 1002] [undef, undef, undef, 1003]