Fascinating! You have one misconception right off: The "my" line is never executed (not even to make the new variables) if $L is false.
OK, then, consider this program. Notice that there's a global $i which has the value 5. Now, when func() is called, if the "my $i" did not create a new lexically scoped variable, then the print line would print "i = 5". But it doesn't - obviously because the lexical variable was created, but is undefined because $b is false.
our $i = 5;
our $b = 0;
func();
sub func {
my $i = 3 if $b;
print("i = $i\n");
}
_______________________________________________ Perl-Win32-Users mailing list [email protected] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
