Or if you need to "map" the substitution

.say for (325, '44a', 555, 6).grep(/^\d+$/).map( *.subst(/^/,4) )


-y

On Mon, Jun 10, 2019 at 10:54 PM yary <not....@gmail.com> wrote:
>
> p6 can transliterate from p5 rather literally
>
> say .subst(/^/,4) for grep /^\d+$/, (325, '44a', 555, 6);
>
>
>
> -y
>
> -y
>
>
> On Mon, Jun 10, 2019 at 9:19 PM Marc Chantreux
> <marc.chantr...@renater.fr> 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

Reply via email to