S5 says:
There is no /e evaluation modifier on substitutions; instead use:

     s/pattern/{ doit() }/

Instead of /ee say:

     s/pattern/{ eval doit() }/

In my perl5 code, I would occasionally take advantage of the "pairs of
brackets" quoting mechanism to do something along the lines of:

   s(pattern) { doit() }e

Translating this to perl 6, I'm hoping that perl6 is smart enough to let me say:

   s(pattern) { doit() }

Instead of

   s(pattern) { { doit() } }

--

In a similar vein, I tend to write other perl5 substitutions using
parentheses for the pattern so that I can use double-quotes for the
substitution expression:

   s(pattern) "expression"

This highlights to me the fact that the expression is _not_ a pattern,
and uses a syntax more akin to interpolated strings than to patterns.
The above bit about executables got me to thinking: _if_ perl6 is
smart enough to recognize curly braces and automatically treat the
second argument as an executable expression, would there be any
benefit to letting perl6 apply customized quoting semantics to the
second argument as well, based on the choice of delimiters?  e.g.,
using single quotes would disable variable substitutions and the like
(useful in cases where the substitution doesn't make use of the
captures done by the pattern, if any).

--
Jonathan "Dataweaver" Lang

Reply via email to