# New Ticket Created by Zoffix Znet
# Please include the string: [perl #130688]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=130688 >
When the :g adverb is used with .match, s/// or, S///, the $/ contains a list
of match objects
for each of the matches made during matching/substitution:
<ZoffixW> m: 'fog'.match: :g, /./; say $/
<camelia> rakudo-moar 97359a: OUTPUT«(「f」 「o」 「g」)»
<ZoffixW> m: S:g/./x/ given $ = 'fog'; say $/
<camelia> rakudo-moar 97359a: OUTPUT«(「f」 「o」 「g」)»
<ZoffixW> m: s:g/./x/ given $ = 'fog'; say $/
<camelia> rakudo-moar 97359a: OUTPUT«(「f」 「o」 「g」)»
However, the .subst/.subst-mutate methods only return the last match made and
not all of them:
<ZoffixW> m: 'fog'.subst: :g, /./, 'x'; say $/
<camelia> rakudo-moar 97359a: OUTPUT«「g」»
<ZoffixW> m: ($ = 'fog').subst: :g, /./, 'x'; say $/
<camelia> rakudo-moar 97359a: OUTPUT«「g」»
I briefly looked at the code and they seem to call match + APPLY-MATCHES just
like S/// ops do.
No idea why the $/ ends up with just the final match.