Larry Wall wrote:
Actually, I've been rethinking this whole mess since last week, and am seriously considering cranking up the Ruby-o-meter here just a tad. At the moment I'm inclined to say that the *only* interpolators in double quotes are:
\n, \t etc. $foo @foo[$i] %foo{$k} {EXPR}
where the last provides a list context to EXPR. So all of these would require curlies:
{foo()} [EMAIL PROTECTED] {%foo} {$foo.bar} {Dog.wag} {.count} {~localtime} [EMAIL PROTECTED] [EMAIL PROTECTED] '.'} {$x.as "%10.5d"}
This is close to the new form() syntax as well, which could be considered a plus. I for one won't complain about adding the good things from Ruby back in to Perl.
matt
Note that this not only fixes the Perl 6 "% in sprintf" issue, but also the Perl 5 "@ in email address" issue. It also generalizes the notion that curlies (almost) always indicate a closure everywhere. On the other hand, it undoes my stated A12 policy that $x.foo can be used anywhere $foo can. On the gripping hand, it enables "{.foo}" where we would have had a lot of "$_.foo", and I think that's an improvement in readability, at least for people who believe in topics.
Larry