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


in reply to Efficient way to replace a set of values with another set of values

How about this:

$str = q{ 1. This is just a sample. 2. This is to check 3. How a set of values 4. can be replaced by another 5. set of values and that too 6. in the most efficient way. }; $str =~ s/^(\d)/chr($1+96)/meg; print $str; ### prints: a. This is just a sample. b. This is to check c. How a set of values d. can be replaced by another e. set of values and that too f. in the most efficient way.

Replies are listed 'Best First'.
Re^2: Efficient way to replace a set of values with another set of values
by Arunbear (Prior) on Nov 23, 2012 at 10:48 UTC
    Command line version:
    perl -pi -e 's/^(\d)/chr($1+96)/e' myfile
      Parent beat me to the one line solution, but perhaps a minor mod may be needed; I suspect that the OP may have numbers larger than just 1-6, so perhaps:
      perl -pi -e 's/^(\d+)/chr($1+96)/e' myfile
      A Monk aims to give answers to those who have none, and to learn from those who know more.

        space_monk:

        OK, your solution is a bit better .... at least until you get to "27. This is a really long list!".

        ;^D

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.