>>>>> "J" == Jatin <[email protected]> writes:
J> On Saturday 30 October 2010 01:26 PM, Uri Guttman wrote: >> wrong. in this case in scalar context, it does stop after a match. the >> difference is that the starting point for the NEXT loop will be after >> the match. so it will keep matching until the end of the string. hence, >> it will always stop and no infinite loop. >> J> [Jatin] And hence /g is needed to stop the matching when the matching J> is used in scalar context. no. /g just makes the match START at the end of the last match. this forces it to scan the string to the end so the LOOP will end. /g has nothing to do with stopping anything itself. it just sets the starting point of the match. you can do a single match in scalar context without /g but it will not scan forward for the next time. this is what caused your infinite loop. /g is very useful in scalar context when used in a loop. uri -- Uri Guttman ------ [email protected] -------- http://www.sysarch.com -- ----- Perl Code Review , Architecture, Development, Training, Support ------ --------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com --------- -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] http://learn.perl.org/
