Moon, John wrote: > I have the follows code > perl -e ' > @a=(q{a...x name=taga_1 #...d name=tagb_1 f...r name=tagc_1 xxnn}, > q{h...e name=taga_4 t...g name=tagb_4 k name=tagc_4 nn}); > $ndx = 0; > foreach $ln (@a) { > print "b4 = $ln\n"; > $ln =~s/(name=.*)\d+/\1$ndx/g;
You should use $1 instead of \1 in the string half of the substitution and .* is greedy so should make it non-greedy. $ln =~s/(name=.*?)\d+/$1$ndx/g; > print "af = $ln\n"; > $ndx++ > }' John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>