On Mon, Aug 28, 2000 at 05:40:11PM -0000, Perl6 RFC Librarian wrote:
> =head1 TITLE
>
> counting matches
> =head1 DESCRIPTION
>
> Have you ever wanted to count the number of matches of a patten? s///g
> returns the number of matches it finds. m//g just returns 1 for matching.
> Counts can be made using s//$&/g but this is wastefull, or by putting some
> counting loop round a m//g. But this all seams rather messy.
Don't forget to mention the canonical way to do it now:
$count = () =~ /pattern/g;
And why you feel that an option to m// is better.
> m//gt (or m//t see below) would be defined to do the match, and return the
> count of matches, this leaves all existing uses consistent and unaffected.
> /t is suggested for "counT", as /c is already taken.
I'd almost suggest that the existing /c be renamed so that you could
use it for counting but that would cause much grief I'm sure :-)
> Relationship of m//t and m//g - there are two possibilities, my original:
>
> m//gt, where /t adds counting to a group match (/t without /g would just
> return 0 or 1). However \G loses its meaning.
>
> The Alternative By Uri :
>
> m//t and m//g are mutually exclusive and m//gt should be regarded as an error.
What does m//c do now? It doesn't seem to make much sense without /g.
I wonder why the no-reset global option wasn't called /G instead of /gc
Someone care to enlighten me before I get up the gumption to RFC it?
-Scott
--
Jonathan Scott Duff
[EMAIL PROTECTED]