I just tried this with today's rakudo.moar build and got: $ cat txt foo bar foo bar $ cat foo.p6 my $layn = slurp "txt";
$layn ~~ s:g/(\w+) \s+ (\w+)/$1 $0/; say $layn; $ ./perl6 foo.p6 bar foo bar foo On Fri, May 2, 2014 at 2:02 PM, Schwenn, Peter <[email protected]> wrote: > Designation: Non-Finmeccanica > > Moritz, > > Thanks for the response. I get the same successful result as you do with: > > my $line = "bar foo"; $line ~~ s/(\w+) \s+ (\w+)/$1 $0/; say $line # output: > foo bar > > All well and good. And if the pattern is one line I get success with my > other s///; forms as well. > > However I'm working with a multi-line slurped source text, and in that case > s///; reports no error and does no substitution. > > So for example if file foobar.txt contains these two lines: > > foo bar > foo far > > and is read with: > > my $layn = slurp "foobar.txt"; > > then > > $layn ~~ s:g/(\w+) \s+ (\w+)/$1 $0/; say $layn; > > Makes no complaint and makes no substitution ($layn is still foo bar foo bar > ). (Same result for no ':g'). > > Perhaps Slurping is not what I should be doing -- I'm using it because great > speed gain. > > Thanks, > > Peter Schwenn > > > > -----Original Message----- > From: Moritz Lenz via RT [mailto:[email protected]] > Sent: Friday, May 02, 2014 3:51 AM > To: Schwenn, Peter > Subject: Re: [perl #121772] $x ~~ s///; > > On 04/30/2014 05:21 PM, [email protected] wrote: >> # New Ticket Created by Schwenn, Peter # Please include the string: >> [perl #121772] # in the subject line of all future correspondence >> about this issue. >> # <URL: https://rt.perl.org/Ticket/Display.html?id=121772 > >> >> >> Designation: Non-Finmeccanica >> Dear Perl6'rs >> >> [In short: no variation of $x ~~ s/...(...)../....$0..../; seems to work >> (to substitute any capture).] > > With a current Rakudo, I cannot reproduce this: > > my $line = "bar foo"; $line ~~ s/(\w+) \s+ (\w+)/$1 $0/; say $line # output: > foo bar > > So either the bug has been fixed in the mean time (and a Rakudo Star release > is upcoming today), or you need to produce a runnable piece of code > (including example data) with which we can replicate your problem. > > Cheers, > Moritz > > > > 3.3.042312 -- Will "Coke" Coleda
