David Baird wrote:
No, the 'reference' to the lexical variable doesn't need to be a 'Perl
reference', just some mention of the variable in the code. That will
make it stick around, but only within the lexical scope specified.

David is correct. This is called a closure. Any use of a lexical variable declared OUTSIDE of the scope of the sub where you use it will make it permanent for that sub. Read up on closures for more.

Here's an example:

my $counter = 1;

sub print_counter {
    print $counter;
    $counter++;
}

The $counter variable will never go out of scope for this sub.

- Perrin

Reply via email to