in reply to Re^3: Duh. 'my' scope in if else blocks. (implicit)
in thread Duh. 'my' scope in if else blocks.
To summarize the current state, for just takes a block and feeds as many scalars as needed into that block.
The block can either be a "pointy" block:
for @list -> $a { # here $a is local'ized in the perl 5 sense }
Or you can use the "weird scoping" twigil for placeholder arguments:
for @list { say $^a; # $^a is only available in this block }
I think that just reusing a lexical variable if there is one available doesn't fit very will into the current concept of blocks and captures.
Perhaps this is one of the cases where weird/unusal scoping deserves its own twigil:
my $a; for @list -> $=a { # $=a is the "reused" version of $a } # here $a has the last value of $=a
I still don't know how much effort that is, how well it fits into the current specs, and if it's worth the trouble. But it's an interesting idea ;-)
|
|---|