c:\@Work\Perl\monks>perl -wMstrict -le "my @ra; ;; sub Sa { @ra = (1,2,3); } ;; sub Sb { foreach my $n (@ra) { print $n; } } ;; Sa; Sb; " 1 2 3 #### c:\@Work\Perl\monks>perl -wMstrict -le "{ my @ra; ;; sub S_init { @ra = (1, 2, 3); } ;; sub S_doit { S_init() if @ra == 0; foreach my $n (@ra) { print $n; } } } ;; S_doit(); " 1 2 3 #### c:\@Work\Perl\monks>perl -wMstrict -le "BEGIN { my @ra = (1, 2, 3); ;; sub S_doit { foreach my $n (@ra) { print $n; } } } ;; S_doit(); " 1 2 3