http://www.perlmonks.org?node_id=1028819


in reply to Re: RE question; how to insert a digit between const[a-z]*3 && inc[0-9]*3? (sprintf)
in thread RE question; how to insert a digit between const[a-z]*3 && inc[0-9]*3?

Can it not be as simple as

s{abc(\d+)\.html}{sprintf("abc%04d.html",$1)}ge;

if all the filenames are of the form abc\d+.html or is there a catch?

  • Comment on Re^2: RE question; how to insert a digit between const[a-z]*3 && inc[0-9]*3? (sprintf)
  • Download Code

Replies are listed 'Best First'.
Re^3: RE question; how to insert a digit between const[a-z]*3 && inc[0-9]*3? (sprintf)
by tye (Sage) on Apr 16, 2013 at 13:54 UTC

    I doubt "abc" was as literal as you interpreted it to be.

    - tye        

      Greetings, and thank you for your thoughtful replies.
      Actually "abc" is a constant -- all the files in question are prefaced with those same 3 characters.
      So in an effort to be more concise;
      I need all the files prefaced by abc, to be followed by 4 digits.
      The files abc1000.html through abc9000.html, are already there.
      Which leaves abc1.html through abc999.html.
      I was able to rename all the files by cobbling up a script with the help of
      find(1),basename(1),cp(1), and rm(1) via for loop. But those won't help me with
      the references to those files within all the files themselves. :(
      So, in summary; how on earth can I append a 0 to abc
      on all the references to abc100.html - abc999.html? Appending 2, or three
      digits to the other references, will have the same solution. So I chose to use
      the "hundreds" list for a starting point.

      Thanks again for your thoughtful responses.

      #!/usr/bin/perl -Tw
      use perl::always;
      my $perl_version = "5.12.4";
      print $perl_version;

        Greetings, and thank you for your thoughtful replies.

        [...]

        So, in summary; how on earth can I append a 0 to abc on all the references to abc100.html - abc999.html?

        By reading and trying the solutions already provided in any of the thoughtful replies?

        If you are unable to adjust any of them to the fact that "abc" was in fact a constant (not that all of them needed adjustment), then perhaps step one is to hire somebody with programming abilities?

        - tye