Textersetzung auf den Stack (und wieder zurück)

Problem: In einem Textabschnitt sollen RE gegen einen Platzhalter ersetzt werden und anschließend die Platzhalter wieder gegen die ursprünglichen Texte.

Lösung mit Perl:


my $marker = "#~#~#";
my @ellipsis = ();
while($result =~ s.(Der betroffene Textteil).$marker.) {
push @ellipsis, $1;
}
# $result enthält jetzt den ursprünglichen Text und alle
# "betroffenen Textteile" sind gegen $marker getauscht.
# Mit $result kann jetzt weiter gearbeitet werden...
#
#
# und am Ende setzen wir die ursprünglichen Textteile,
# die auf dem ellipsis Stack liegen wieder ein:
while($result =~ s|$marker|splice(@ellipsis, 0, 1)|e) {}