Ich will mit einem Perlskript eine XML-Datei bearbeiten, und zwar handelt es sich um Gesetzestexte wo ich bei jedem Verweis auf einen anderen Paragraphen einen link einfügen will. Probleme bereiten mir dabei ganze Aufzählungen von Paragraphen. Sie werden durch '§§' eingeleitet und mittels Komma, 'oder', 'und' oder 'bis' aneinandergereiht. Bisher habe ich mir für jede Kombination einen regulären Ausdrück definiert, aber die Anzahl der möglichen Kombinationen gehen in's unendliche. Es muß eine abstraktere Lösung geben.
Bisher hab ich's so gelöst (Beispiel, etwas vereinfacht):
§§ [n] und [n]
$_ =~ s/§§ ([0-9]+) und ([0-9]+)/§§ <link url="\1.html">\1</link> und <link url="\2.html">\2</link> /g
aber bei Aufzählungen wie
#§§ [n], [n] bis [n], [n] bis [n] oder [n] und [n]
bin ich ob der Zweckmäßigkeit meiner Lösung in's Grübeln gekommen. Könnte mir einer einen Hinsweis geben, wie ich einen besseren Lösungsweg finden kann?