Das Parsen von HTML-Dokumenten gehört nicht unbedingt zu meinen Lieblingsaufgaben, was sicherlich zum Teil auch in meiner begrenzten Erfahrung mit regulären Ausdrücken begründet ist. Sagen wir so: Reguläre Ausdrücke sind für mich das, was für den Rob CSS sind

.
Gott sei Dank hat ein findiger Japaner für RegEx-n00bs mit Perl-Hintergrund wie mich dieses
Modul entwickelt. Damit bin ich schnell und komfortabel zum Ziel gekommen.
use Web::Scraper;
# neue Scraper-Instanz anlegen und die Parse-Regel definieren
my $s = scraper {
process '//li[@class="blau"]/h1/a', 'texte[]' => '@href';
};
# html nach regel parsen
my $r = $s->scrape($html);
my $result = $r->{'texte'};
Im Beispiel wird aus allen Links, die sich in einem h1-Element befinden, welches sich wiederum in einem li-Element der Klasse "blau" befindet, der Wert des Attributs "href" herausgezogen. Im Result befinden sich dann eine Referenz auf ein Array, welches die Werte enthält. Die Regel zum Parsen ist übrigens mittels
XPath-Syntax zu definieren.
Obwohl das Modul erst vor einiger Zeit im foo-Magazin vorgestellt wurde, hier noch einmal eine Liebeserklärung von meiner Seite
Kommentare