in reply to Re: Replacing a given character starting with the xth occurence in a string
in thread Replacing a given character starting with the xth occurence in a string

You wouldn't be the first person here to misread (and therefore mis-answer) a question, so we might all want to be lenient on that account (but do go back and read the original question again, it isn't quite a simple substitution question). But everyone should take the time to test the code that they post at least minimally. Your code does not compile because the variable should be $p not p$, and making that change doesn't give the result you stated because your code replaces w's instead of e's. It looks as if you are trying to be careful by using -w and my() variables, so maybe you tested code and then retyped it for submission, making typos as you went. Copy and paste is a much safer way to participate in online forums.

  • Comment on Re: Re: Replacing a given character starting with the xth occurence in a string

Replies are listed 'Best First'.
Re: Re: Re: Replacing a given character starting with the xth occurence in a string
by Anonymous Monk on May 21, 2001 at 10:50 UTC
    You're right of course, my code should have been:

    #!/usr/bin/perl -w my $p = 'Terrence and Philip are sweet'; $p =~ s/e/1/g; print "$p";

    which is a direct copy and paste, but still doesn't give the desired result, I see after re-reading. I'll have to think about that a little harder. Now I see why it wasn't as easy as I thought at first go.

    sharle

      Also worth noting that for single character translations like this, tr/// is much more efficient than s///.

      --
      <http://www.dave.org.uk>

      "Perl makes the fun jobs fun
      and the boring jobs bearable" - me