<?xml version="1.0" encoding="windows-1252"?>
<node id="1005323" title="Re^5: Efficient way to replace a set of values with another set of values" created="2012-11-23 17:58:18" updated="2012-11-23 17:58:18">
<type id="11">
note</type>
<author id="634253">
AnomalousMonk</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;i&gt;
... until you get to "27. This is a really long list!".
&lt;/I&gt;&lt;/BLOCKQUOTE&gt;

&lt;p&gt;
Maybe something like (and 'zz' could easily be 'zzz'):
&lt;/P&gt;

&lt;c&gt;
&gt;perl -wMstrict -e
"my @lines = (
   '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.',
   '99. And also handle large numbers.',
   '999. Oops, too big!',
   '99 bottles of beer on the wall does not translate!',
   );
 ;;
 my %xlate;
 { my @alphas = (undef, 'a' .. 'zz');
   @xlate{ 1 .. $#alphas } = @alphas[ 1 .. $#alphas ];
   }
 ;;
 s{ \A (\d+) (?= [.]) }
  { exists $xlate{$1}
    ? $xlate{$1} : (warn(qq{bad '$1' in '$_'}), '??')
    }xmse
  for @lines;
 ;;
 print qq{$_\n} for @lines;
"
bad '999' in '999. Oops, too big!' at -e line 1.
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.
cu. And also handle large numbers.
??. Oops, too big!
99 bottles of beer on the wall does not translate!
&lt;/C&gt;
</field>
<field name="root_node">
1005242</field>
<field name="parent_node">
1005275</field>
</data>
</node>
