The /r modifier on s/// in Perl5 is S/// in Perl6.
Though you have to put it into a block lambda, otherwise it applies to
$_ before it gets a chance to be passed to map.
$*ARGFILES
. lines
. grep( / ^ <digit>+ $ / )
. map( {S/^/ * /} )
. map(&other-things-to-do)
. map(&say)
On Mon, Jun 10, 2019 at 11:19 PM Marc Chantreux
<[email protected]> wrote:
>
> hello people,
>
> in perl5, i can
>
> print for
> map s/^/4/r,
> grep /^\d+$/,
> <ARGV>
>
> the perl6 version is a Seq, so much more memory friendly
> but i expected (and haven't found in the documentation)
> a short equivalent of s///r so the shorter i have is:
>
> $*ARGFILES
> . lines
> . grep( / ^ <digit>+ $ / )
> . map( *.subst(/^/," * ") )
> . map(&other-things-to-do)
> . map(&say)
>
> when, of course, i want to replace
>
> . map( *.subst(/^/," * ") )
>
> by something like
>
> . map( s:r/^/* / )
>
> any idea?
>
> regards
> marc