Thx John, your tip was very helpful, as it gives me the right idea...
Perhaps I did not explain good enough the scenario. But both your solutions have a little error, example:
"Bla class="x1" class="x2" otheratr="y0" class="x3" Blabla
==> Bla class="x1 x2" otheratr="y0 x3" Blabla
correct would be:
Bla class="x1 x2" otheratr="y0" class="x3" Blabla
(perfect would be:
Bla class="x1 x2 x3" otheratr="y0" Blabla)
one-pass solution:
s/(?<=class=")([^"]*)"\s*class="/$1 /g;But for smaller files with few iterations the while-loop solution is faster, probably because of the lookbehind operator.
1 while $s1 =~ s/class=\"([^\"]*)\"\s*class=\"([^\"]*)\"/class="$1 $2"/g;
Thx again,
Jaikov
In reply to Re^5: Can you assign to pos() in a s/foo/bar/g
by Jaikov
in thread Can you assign to pos() in a s/foo/bar/g
by johngg
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |