in reply to Re: Scoping issue when sorting with subroutines
in thread Scoping issue when sorting with subroutines
> Keep in mind that perl currently doesn't do nested subs
Ack, how un-DWIM!
HTH
Ack, how un-DWIM!
But if we use a closure, all is well with the scope of $xsub foo { my $x = "a var in foo()"; sub bar { print "\$x is - [$x]\n"; } } bar(); __output__ $x is - []
I was vaguely aware of the fact that nested subs in perl were broken (i.e scoped to current package, not current sub) and now I know the full extent (but I guess the logic should've followed really). Oh well, not much longer til Perl6 anyway ...sub foo { my $x = "a var in foo()"; return sub { print "\$x is - [$x]\n"; } } foo()->(); __output__ $x is - [a var in foo()]
HTH
broquaint
|
---|
In Section
Seekers of Perl Wisdom