Wolfgang Wiese: Perl-Nuss: Verbesserung eines regulaeren Ausdrucks

Beitrag lesen

Hi,

folgendes brauch ich eigentlich nicht, aber ich denke es waere fuer alle die an Perl und Regular Expressions ebenfalls Spass haben, eine interessante Aufgabe.

Ich habe folgenden Code erstellt:
$parselink_text ist dabei ein String welcher einen beliebig langen HTML-Text enthält.
Alle anderen Variablen sollten klar sein...

while ($parselink_text =~ /<a\s*(.*?)mailto:([\w.-]+@[\w.-]+)(?:["'\s]?)\s*
(.*?)>(.*?)</a>/si) {
        $parselink_text = $';
        $parselink_host = $4;
        $parselink_host =~ s/<([^>]\s+)*>//g;
        $parselink_host =~ s/\s+/ /g;
        $parselink_host =~ s/^\s+//g;
        push(@parselink_liste, "$2$parselink_host");
    }

Konkret würde ich gern die while-Schleife weghaben...Also das die Email-Adressen und deren Bezeichner gleich in einem Feld geschrieben werden...

Na, wer knackt die Nuss?

Ciao,
  Wolfgang