Ich hatte mal das Problem, daß ich in einem regulären Ausdruck zusätzlich Code ausführen mußte (wollte).
Also, flugs im perlretut nachgelesen, alles auf Englisch gefunden, Hälfte verstanden und dann lang herumprobiert, denn im perlretut steht, daß es prinzipiell funktionieren müßte.
Also, mal so zum Testen, folgende Problemstellung:
Man hat ein Skalar "Farbe Rot Farbe Grün Farbe Gelb Farbe Blau".
Man möchte jetzt jedesmal das Wort Farbe nummerieren, beginnend mit 1.
Und warum ist das so? Also, im perlretut steht, grob übersetzt, daß das e hinter dem letzten / dafür sorgt, daß der Teil, der für das Ersetzen zuständig ist, wie ein eval() behandelt wird. Es wird also Farbe gefunden, in $1 gespeichert, dann eval($1.$counter++), also $counter erhöht und zu Farbe1, und schließlich das Original Farbe ersetzt. Das g hinter dem letzten / gibt an, daß diese Prozedur global, also für alle Elemente, durchgeführt wird. Ohne das g wäre nur das erste Farbe ersetzt worden.
Alles etwas hardcore, aber ich hoffe, das Beispiel war verständlich...