Thanks. > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]] > On Behalf Of $Bill > Luebkert > Sent: Thursday, May 23, 2002 4:11 PM > To: [EMAIL PROTECTED] > Cc: Perl > Subject: Re: Using the 'g' modifier with regexs > > > Mohammed Khatib wrote: > > > Hi All, > > > > A simple question (but this had me baffled for > ages today). > > > > Take a statement such as the following: > > > > if (s!($string)!!g) > > { > > # code > > } > > > > Since we are using the g modifier in the > substitution, is > > there a way to access an array or something > which holds all > > the captured matches (assuming there are > multiple matches) > > in the global replace? Obviously $1 doesn't > work (even if it > > did, it'll probably only give me the most recent match). > > > > I know that I can use > > > > while (s!($string)!!) > > { > > # access to $1 is allowed here > > } > > > > but I'm curious to know the answer to my question above. > > > In addition to Ron's comments: > > my $string = 'abc'; > > $_ = "123abc123abc123abc"; > print "Before: $_\n"; > my @matches; > push @matches, $1 while s/($string)//; # > works to pick up the matches > print scalar @matches, " matches\n"; > print "After: $_\n"; > > foreach (@matches) { > print "match: $_\n"; > } > print "\n"; > > # or just get the count of matches since we know > what we are matching > # on each match > > $_ = "123abc123abc123abc"; > print "Before: $_\n"; > my $matches = (s/($string)//g); > print "$matches matches\n"; > print "After: $_\n"; > > __END__ > > > > > > > -- > ,-/- __ _ _ $Bill Luebkert > ICQ=14439852 > (_/ / ) // // DBE Collectibles Mailto:[EMAIL PROTECTED] / ) /--< o // // http://dbecoll.tripod.com/ (Free site for Perl) -/-' /___/_<_</_</_ Castle of Medieval Myth & Magic http://www.todbe.com/
_______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs _______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
