in reply to Re: getting next word or number after another
in thread getting next word or number after another

The \G anchor does no harm, but is not necessary in the OPed example case (/g modifier causes match position to be preserved in void/boolean/scalar context):

Win8 Strawberry 5.8.9.5 (32) Thu 12/17/2020 23:11:18 C:\@Work\Perl\monks >perl -Mstrict -Mwarnings my $string = " info info 100 - 2000 Kent"; my $word = "info"; $string =~ /$word\s*?(\S+)/g; my $next_word = $1; my $nwo = $-[1]; # offset of start of capture $string =~ /\s*?(\S+)/g; my $next_word_2 = $1; my $nwo_2 = $-[1]; print "The next word after $word is $next_word @ $nwo \n"; print "The next word or number after $next_word is $next_word_2 @ $nwo +_2 \n"; ^Z The next word after info is info @ 27 The next word or number after info is 100 @ 50
(Repeated words are also handled properly with/without \G.)


Give a man a fish:  <%-{-{-{-<

Replies are listed 'Best First'.
Re^3: getting next word or number after another
by BillKSmith (Monsignor) on Dec 18, 2020 at 13:39 UTC
    Thanks for your comment. My interpretation of the document required the \G. I would still recommend using it because it calls attention to the /g on the first match which is there only for its effect on the second match.
    Bill