in reply to Re^6: Hard syntax error or disambiguable parsing?
in thread Hard syntax error or disambiguable parsing?
As you can see, $i is lexical, and its value isn't visible outside the loop. But $j is a package variable, who gets a localized value inside the loop. And then its value is visible outside the loop.my $i = 10; our $j = 10; sub print_it {say "[$i, $j]"} print_it; foreach $i (0 .. 5) {print_it;} print_it; foreach $j (0 .. 5) {print_it;} print_it; __END__ [10, 10] [10, 10] [10, 10] [10, 10] [10, 10] [10, 10] [10, 10] [10, 10] [10, 0] [10, 1] [10, 2] [10, 3] [10, 4] [10, 5] [10, 10]
|
|---|