in reply to uninitialised variable

Edit: that's what I get for answering without testing :-P Below is incorrect, see the first reply above.

You made a closure?


The way forward always starts with a minimal test.

Replies are listed 'Best First'.
Re^2: uninitialised variable
by stevieb (Canon) on Dec 30, 2016 at 14:33 UTC

    I don't see how. A closure is a function that returns another function, which has access to variables in its outer scope. I don't see that here.

      > A closure is a function that returns another function,

      No a closure is (in normal speak) only a function which is accessing variables outside from it's own body at declaration time.

      The surrounding is not necessarily "another function" and the closure function is not necessarily "returned".

      Technically the combination

      • function plus
      • "enclosed" variables

      is called closure!

      see Closure_(computer_programming)

      Most people ignore these variables as implementation detail and keep concentrating on the "closure function" calling it simply the closure.

      Cheers Rolf
      (addicted to the Perl Programming Language and ☆☆☆☆ :)
      Je suis Charlie!

      update

      Here an example of getter and setters implemented as closures which don't fall under your definition.

      { my $a; sub get_a { return $a } sub set_a { $a = shift } }

      Update:

      more examples here perlfaq7#What's-a-closure%3f