Hier mal eine nette, kleine Loesung mit HTML::Parser:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl
use warnings;
use strict;
use HTML::Parser;
# Hier wird jedes Start-Tag ausgewertet
sub parse_start {
return unless $_[0] eq 'img'; # nur IMG-Tags
return unless exists $_[1]->{alt}; # alt-Attribute vorhanden?
my $alttext = $_[1]->{alt};
# mach was mit $alttext
print ">>>\n$alttext\n<<<\n";
}
# Parser definieren
my $p = HTML::Parser->new ( api_version => 3,
start_h => [ # Handler fuer Start-Tags
\&parse_start, 'tag, attr' # Uebergib Tag und Attribute
],
);
# Start des Parsers, hier mit Daten aus dem _ _DATA_ _ Anhang
$p->parse_file(*DATA);
_ _DATA_ _
<a href='anzeig.pl?lnr=2689&art=stadt&nr=5048'><img border="0" src="http://free.pages.at/Praios/bilder//karte/k1j.jpg" width="118" height="118" alt='Name: Un-Rockbar
Besitzer: Ice_King
Punkte: 144
Bündnis: FuckingGrandpas'></a><a href='anzeig.pl?lnr=2689&art=stadt&nr=5049'><img border="0" src="http://free.pages.at/Praios/bilder//karte/k1j.jpg" width="118" height="118" alt='Name: Ulgarth
Besitzer: Core
Punkte: 1202
Bündnis: DDH'></a>
Wie ueblich muss man sich die Unterstriche um DATA zusammen haengend vorstellen - was vom Board leider immer noch geloescht wird.