Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: "While" effect on regex?

by roboticus (Chancellor)
on Feb 17, 2013 at 00:01 UTC ( #1019085=note: print w/ replies, xml ) Need Help??

in reply to "While" effect on regex?


Without the 'g' modifier, the m/.../ operator simply reports whether the string matches or not. Unless you change the string, it will *always* match or *always* fail. If you read perlre, it'll refer you to perlretut. In there it says:

Global matching

The final two modifiers "//g" and "//c" concern multiple matches. The modifier "//g" stands for global matching and allows the matching operator to match within a string as many times as possible. In scalar context, successive invocations against a string will have `"//g" jump from match to match, keeping track of position in the string as it goes along. You can get or set the position with the "pos()" function.

The relevent bit is the italicized bit. It's telling you that with the g operator, the match remembers where it left off, and the next time you match with the g operator, it will proceed from that point.

Long story short: that's what the 'g' modifier does!


When your only tool is a hammer, all problems look like your thumb.

Comment on Re: "While" effect on regex?
Replies are listed 'Best First'.
Re^2: "While" effect on regex?
by lightoverhead (Pilgrim) on Feb 17, 2013 at 00:08 UTC


    Your answer is very clear! Thanks a lot!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1019085]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2015-10-09 22:49 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (253 votes), past polls