in reply to Re: pattern matching a limited number of times
in thread pattern matching a limited number of times

$foo =~ s/ab/cd/i for 1..5;

The above seems to work very well. I'm not sure I see the advantages to the more complex phrasings below. Please correct me if I'm wrong.

Thanks Podmaster.
  • Comment on Re: Re: pattern matching a limited number of times

Replies are listed 'Best First'.
Re3: pattern matching a limited number of times
by blakem (Monsignor) on Sep 14, 2002 at 21:38 UTC
    The main problem is that it doesn't deal with overlapping regexes very well, (i.e. your regex matches parts of your replacement string).

    Suppose you have the string:

    "The wodchuck at the zo stod on the stoop";
    You realize that it will only make sense after replacing the first three 'o's with 'oo's
    my $str = "The wodchuck at the zo stod on the stoop"; $str =~ s/o/oo/i for 1..3; print "$str\n";
    Oops, that yields:
    The woooodchuck at the zo stod on the stoop
    The other solutions would have produced:
    The woodchuck at the zoo stood on the stoop

    -Blake

      Ok, I see Blakem... hmmmm.... I may be in the situation where the substitute will never be the same as the text substituted for..... Actually, I'm wrapping html around url's and their linked text.... I need to think about it though..... Thanks--you folks are really great.