# New Ticket Created by Schwenn, Peter
# Please include the string: [perl #121798]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=121798 >
Dear Perl6'ers,
I am using 2014.3 Star’s MSI to build a production translator (updating about
1000 C# source files to be compatible with new libraries).
I have successfully written a mass of substitutions based on the s/// form.
Now I'm trying to count the matches that have been made, so because one can't
count s:g/// matches (apparently), I'm pairing an m:ex/.../ {say ... } with
each s:g///;, using the same matching pattern.
But " ~~ m:ov/.../" and "m:ex/.../" and "ms:g/.../" all seem to be broken in
the sense that they won't even find multiple matches (or if they do they won't
store or report them according to S05.)
For example,
>say "abracadabra" ~~ m:ov/a+/
False
>say "abracadabra" ~~ m:ex/a(.*)a/
False
and nothing is ever reported by
if $str ~~ m:ex/.../ {say [$/];}
same for m:ov/...,
same for ms:g/...,
and same for using @() instead of [$/]
In fact no example from S05 that deals with reporting or storing multiple
matches with "~~ m.../" works.
(Single match m/.../ seems to work fine AND report the number of matches i.e. 0
or 1) by either +[$/] or +@() )
[In short I am looking for any way of reporting multiple matches.]
Thank you,
Peter Schwenn