@array = ('a'); foreach (@array) { # $_ is an alias for $array[0]. while () { } # $_ and $array[0] are clobbered print("[$_]$/"); # Prints "[]" } print("[$array[0]]$/"); # Prints "[]" #### @array = ('a'); foreach (@array) { # $_ is an alias for $array[0]. local $_ = $_; # This $_ is not an alias for $array[0]. while () { } # $_ is clobbered, but not $array[0] print("[$_]$/"); # Prints "[]" } print("[$array[0]]$/"); # Prints "[a]" #### @array = ('a'); foreach (@array) { # $_ is an alias for $array[0]. { local $_; # This $_ is not an alias for $array[0]. while () { } } # Neither $_ nor $array[0] are clobbered print("[$_]$/"); # Prints "[a]" } print("[$array[0]]$/"); # Prints "[a]" #### @array = ('a'); foreach (@array) { # $_ is an alias for $array[0]; while (my $line = ) { } # Neither $_ nor $array[0] are clobbered print("[$_]$/"); # Prints "[a]" } print("[$array[0]]$/"); # Prints "[a]"