in reply to Re: Isn't Perl5 ready for C<my sub>?
in thread Isn't Perl5 ready for C<my sub>?
(With all the caveats of local and symboltable hacking, of course.)
The main problem I see with this approach is that it doesn't behave the way we would expect a true lexical sub too. For example, I would expect the following to work:
sub foo { my sub bar { print "42\n"; } return sub { bar() }; } my $s = foo(); $s->();
Of course that won't work with the local trick since you can't have a lexical closure over a locally modified symbol table (as far as I know.) But it would work fine if you used my $bar = sub { print "42\n" }.
I suppose a source filter to convert my sub bar { } to my $bar = sub { } would do the trick, but then you'd have to scan the rest of the block to change bar to $bar->(). Sounds like a real PITA.
|
---|
In Section
Seekers of Perl Wisdom