|
|
|
|
|
by fanf2
4003 days ago
|
|
One weirdness I encountered recently with nested functions: sub a {
my $v;
sub b {
# captures only the first
# instance of $v
}
}
This is because named subroutines are created once and variable captures are resolved at that time. I expected the more normal capture semantics you get with anonymous subs, like sub a {
my $v;
my $b = sub {
# a new $b each time
# captures each $v
}
}
|
|
It's little different than this block defined outside of any function:
Whereas an anonymous function is "defined" each time the enclosing scope is evaluated.For more info, see: http://www.perlmonks.org/?node_id=389319
HTH