in reply to In place replace, ignoring between quotes
DB<171> $str=$str0 => " bla0 \"ignore a1\" bla1 \"ignore a2\" bla2" DB<172> @parts=split '"',$str => (" bla0 ", "ignore a1", " bla1 ", "ignore a2", " bla2") DB<173> map {s/a/A/ unless $x++%2} @parts => (1, 1, 1, 1, 1) DB<174> $str=join '"',@parts => " blA0 \"ignore a1\" blA1 \"ignore a2\" blA2"
also as one-liner
DB<185> $x=0;$str=$str0 => " bla0 \"ignore a1\" bla1 \"ignore a2\" bla2" DB<186> $str= join '"', map {s/a/A/ unless $x++%2;$_} split '"', $st +r => " blA0 \"ignore a1\" blA1 \"ignore a2\" blA2"
Cheers Rolf
( addicted to the Perl Programming Language)
|
|---|