On Sat, Aug 23, 2008 at 12:55:44PM +0200, Moritz Lenz wrote: > Carl Mäsak wrote: > > # should $/ really keep ties to $s like this? > > <masak> rakudo: my $s = "hello"; $s ~~ /hello/; $s = "goodbye"; say $/ > > <p6eval> rakudo 29834: OUTPUT[goodb] > > I'm pretty sure it's a bug in rakudo.
It's a bug somewhere, yes. I suspect that PGE is tying to the scalar variable itself where it needs to be tying to the value. > > The currently defined methods are > > > > $/.from # the initial match position > > $/.to # the final match position > > $/.chars # $/.to - $/.from > > $/.orig # the original match string > > $/.text # substr($/.orig, $/.from, $/.chars) > > $/.text seems to be a bit superfluous, because it's already available as > ~$/ and $/.Str $/.text and ~$/ are different: $/.text always returns the matched text, while ~$/ returns the stringification of the result object (which could be different from the matched text if C<make> was used inside of the regex). "81" ~~ / (\d+) { make $0.sqrt } /; say ~$/; # "9\n" say $/.text; # "81\n" (C<make> and closures in regexes are not implemented in Rakudo yet.) Pm