# 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