That particular example is flawed, because the try expression is turned into a try statement because the } stands alone on its line.
But if you eliminate a couple newlines between } and for, then your question makes sense (but the code is not well structured, but hey, maybe you take out all the newlines for a one-liner...). The answer in that case is probably a syntax error, and to avoid it, you put a ; between the } and the for. Piers Cawley wrote: > Okay boys and girls, what does this print: > > my @aaa = qw/1 2 3/; > my @bbb = @aaa; > > try { > print "$_\n"; > } > > for @aaa; @bbb -> my $a; my $b { > print "$a:$b"; > } > > I'm guessing one of: > 1:1 > 2:2 > 3:3 > > or a syntax error, complaining about something near > C<@bbb -> my $a ; my $b {> > > In other words, how does the parser distinguish between postfix for > followed by a semicolon, and the new semicolon enhanced 'normal' for? > > -- > Piers > > "It is a truth universally acknowledged that a language in > possession of a rich syntax must be in need of a rewrite." > -- Jane Austen? -- Glenn ===== Due to the current economic situation, the light at the end of the tunnel will be turned off until further notice.