in reply to "for qw/ word / { warn $_ }" fails, other parentheses lacking versions work

The block modifier (for at the end of a statement) is a different kettle of fish and not subject to the same rules.

Other than that, yes, this ambiguity was discussed on perl5-porters a couple of years ago, but try as I might, I can't coax the thread out into the open.

The details as I remember them was that this syntax (a qw list without parens) happened to work by accident, and in correcting a problem elsewhere in the parser, the syntax began to fail. As it was never explicitly authorised by the language, it was deemed easier to ban the syntax rather than torture the tokeniser even more, in order to allow it to continue to accept this syntax.

• another intruder with the mooring in the heart of the Perl

  • Comment on Re: "for qw/ word / { warn $_ }" fails, other parentheses lacking versions work

Replies are listed 'Best First'.
Re^2: "for qw/ word / { warn $_ }" fails, other parentheses lacking versions work
by parv (Parson) on Apr 04, 2008 at 11:56 UTC

    The "Surpised by foreach iterator limitation" (2003) subthread seems to give the impression that a for loop working with parentheses lacking qw// was intentional.

    In the meantime, I will try to find the thread that you speak of.