in reply to
Re^2: closure clarity, please
in thread closure clarity, please
You have no choice. Named subroutines are always global. You're lying to yourself when you said "local f".
You are right. I meant "define all subroutines at the same global level."
Why do you think that creating a variable somewhere should replace a variable in some unrelated sub?
It is not clear to me when a lexical variable is used and when is lost during the program execution, as in my last example, where I'd expect an uninitialized $a in all "local f"'s messages.