FWIW, confirmed on the latest blead parakudo.

On Jun 30, 2013, at 6:39 PM, Ayiko (via RT) <perl6-bugs-follo...@perl.org> 
wrote:
> # New Ticket Created by  Ayiko 
> # Please include the string:  [perl #118705]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=118705 >
> 
> 
> 
> s/// inside a for loop doesn't update $/ and uses previous value in 
> replacement 
> text.
> Failed s/// doesn't reset $/ either.
> m// seems to work ok.
> 
> Same problem with $0, $<foo> who depend on $/
> 
> ---test file:
> use v6;
> use Test;
> my $v; my $i; $/ = ();
> $_ = '1';                               s'1'_$/';    is $_ , '_1', '$/: plain 
> s///';
> $_ = '2'; $i = 1; while $i--    {       s'2'_$/';    is $_ , '_2', '$/: s/// 
> in 
> while';     };
> $_ = '3'; loop                  {  s'3'_$/'; last }; is $_ , '_3', '$/: s/// 
> in 
> loop';
> $_ = '4';         -> $_ is copy {       s'4'_$/';    is $_ , '_4', '$/: s/// 
> in 
> -> {}';     }($_);
> $_ = 'x'; for '5' -> $_ is copy {       s'5'_$/';    is $_ , '_5', '$/: s/// 
> in 
> for (copy)';};
> $v = '6'; for 'x'               { $v ~~ s'6'_$/';    is $v , '_6', '$/: $v ~~ 
> s/// in for'; };
> $v = '7'; for 'x'               { $v ~~ s'7'_$/'; }; is $v , '_7', '$/: $v ~~ 
> s/// outside for';
> 
> $v = 'X'; for 'x'               { $v ~~ s'8'_$/'; }; nok $/, '$/: failed s/// 
> inside for';
> 
> $_ = '1';                               /1/;    is $/, '1', '$/: plain m//';
> $_ = '2'; $i = 1; while $i--    {       /2/;    is $/, '2', '$/: m// in 
> while';     };
> $_ = '3'; loop                  {  /3/; last }; is $/, '3', '$/: m// in loop';
> $_ = '4';         -> $_ is copy {       /4/;    is $/, '4', '$/: m// in -> 
> {}';     }($_);
> $_ = 'x'; for '5' -> $_ is copy {       /5/;    is $/, '5', '$/: m// in for 
> (copy)';};
> $v = '6'; for 'x'               { $v ~~ /6/;    is $/, '6', '$/: $v ~~ m// in 
> for'; };
> $v = '7'; for 'x'               { $v ~~ /7/; }; is $/, '7', '$/: $v ~~ m// 
> outside for';
> 
> ---output on Rakudo star 2013.05
> ok 1 - $/: plain s///
> ok 2 - $/: s/// in while
> ok 3 - $/: s/// in loop
> ok 4 - $/: s/// in -> {}
> not ok 5 - $/: s/// in for (copy)
> #      got: '_4'
> # expected: '_5'
> not ok 6 - $/: $v ~~ s/// in for
> #      got: '_4'
> # expected: '_6'
> not ok 7 - $/: $v ~~ s/// outside for
> #      got: '_4'
> # expected: '_7'
> not ok 8 - $/: failed s/// inside for
> ok 9 - $/: plain m//
> ok 10 - $/: m// in while
> ok 11 - $/: m// in loop
> ok 12 - $/: m// in -> {}
> ok 13 - $/: m// in for (copy)
> ok 14 - $/: $v ~~ m// in for
> ok 15 - $/: $v ~~ m// outside for
> ---

Reply via email to