Liebes Forum,
ich habe folgendes Problem: ich möchte in einer HTML-Datei tags in Form von »<seite \w+>« finden und das \w+ in diesen tags durch eine jeweils um 1 erhöhte Zahl ersetzen. Mit anderen Worten: in der HTML können nacheinander folgende tags enthalten sein: …<seite 1>…<seite 5>…<seite ii>…<seite 3> usw. Ich möchte diese tags (in der Reihenfolge, in der sie auftreten) folgendermaßen abändern: <seite 1>…<seite 2>…<seite 3>…<seite 4> usw. (Noch besser wäre: <seite i> …<seite ii>…<seite iii>…<seite iv>)
Ich habe bereits mit mehreren for- und while-Schleifen experimentiert, bekomme es aber nicht hin. Hier ein Versuch für 10 Seiten-tags
$seitenzahl = 10;
$zaehler = 1;
while ($zaehler <= $seitenzahl) {
$zeile=~s!<seite.+?>!<seite $zaehler>!s;
$zaehler++;
}
Leider erhöht dieses Skript nur im ersten tag die Seitenzahl bis die Schleife zu Ende ist. Alle anderen tags bleiben unverändert. Was mache ich falsch bzw. wie bekomme ich es hin, dass perl die Suche beim nächsten Schleifendurchgang vom zuletzt bearbeiteten tag beginnt? (Beim match-Operator gibt es doch dafür das \G oder nicht?)
Bin dankbar für jeden Hinweis!
PLS