$_ = 42; foreach (1, 2, 3) { print "Inside loop: \$_ = [$_]\n"; } print "Outside loop: \$_ = [$_]\n"; #### $_ = 42; while() { print "Inside loop: \$_ = [$_]"; } print "Outside loop: \$_ = [$_]\n"; #### foreach (@test_array) { print qq|Before while: [$_]\n|; open(IN, $0) || die "No file: $!\n"; while () { } close IN; print qq|After while: [$_]\n|; } #### foreach my $elem (@test_array) { open(IN, $0) || die "No file: $!\n"; while( defined(my $line = ) ) { } close IN; }