in reply to Re: Re: A Real Closure
in thread Unusual Closure Behaviour
The "closure" issue refers to a specific instance of a variable that keeps changing its identity. In a function, $x is a different SV each time it is called. The creation point of a closure uses the current one. The creation of the closure takes place after the my has its run-time effects. Your example creates count at compile-time
the warning is due to defining a function (that ends up acting as a closure, due to its use of lexicals defined in an upper scope) inside a functionYou'll get that warning no matter how you contrive to create a named sub refering to a lexical variable that gets re-bound with each pass through the code.