Hi rsriram,
Here is one way to do it. But If you have proper xml file it is always good to use XML modules.
use strict; use warnings; my $string = '<nl><item>asdfasdf</item><item>asdfasdf</item></nl><nl>< +item>asdfasdf</item><item>asdfasdf</item></nl>'; $string =~ s|<nl>((?:(?!</nl>).)*)</nl>|'<nl>'.&item($1).'</nl>'|egs; print $string; sub item { my ($item) = @_; my $no =1; $item =~ s/<item>/'<item num="'.$no++.'">'/egs; return $item; } output: ------- <nl><item num="1">asdfasdf</item><item num="2">asdfasdf</item></nl><nl +><item num ="1">asdfasdf</item><item num="2">asdfasdf</item></nl>
or even shorter than the above
$string =~ s|<nl>((?:(?!</nl>).)*)</nl>|my $item = $1; my $no = 1; $it +em =~ s/<item>/'<item num="'.$no++.'">'/egs;"<nl>$item</nl>"|egs;
Prasad
In reply to Re: Numbering list items
by prasadbabu
in thread Numbering list items
by rsriram
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |