c:\@Work\Perl\monks>perl -wMstrict -le "sub Sa { my @ra; $#ra = 100_000_000; return; } ;; for (0 .. 100) { Sa(); } " #### c:\@Work\Perl\monks>perl -wMstrict -le "sub Sb { my @ra; $#ra = 100_000_000; return \@ra; } for (0 .. 100) { my $arrayref = Sb(); } " #### c:\@Work\Perl\monks>perl -wMstrict -le "sub Sc { my @ra; $#ra = 10_000_000; return \@ra; } ;; my @save_references; for my $i (0 .. 20) { $save_references[$i] = Sc(); } sleep 8; ;; @save_references = (); sleep 8; "