> It relates to some old problems in the early part of the RFC/Apocalypse
> process, and the fact that:
>
>       say $_ for 1..10 for 1..10
>
> Was ambiguous. The bottom line was that you needed to define your
> parameter name for that to work, and defining a parameter name on a
> modifier means that you have to parse the expression without knowing
> what the parameters are, which is ugly in a very non-stylistic sense.

Again, thank you for your reply.

I don't think that is ambiguous though.  If you view statement modifiers in 
their unwrapped state, that example isn't any more ambiguous than

for 1..10 {
    for 1..10 {
        say $_
    }
}

The question is sort of related to asking if these two examples are equivalent 
not just in operation, but also in how they scope.

Is the following a syntax error in Perl6:

use strict;
my $a = 1;
my $x for $a;
$x;

It isn't under Perl5 - but will it be under Perl6.

Either way the nested statement modifiers would work even if scopes aren't 
introduced at each level.

.say for 1..$_ for 2..5;

I think it reads sort of nicely left to right.

Paul

Reply via email to