Hallo,
noch ne Frage.
In der Aufgabe geht es darum, eine Webseite zu spidern und eine ganz bestimmt Tabelle rauszuholen.
Das klappt auch, aber gibt es eine bessere Methode die Whitespaces und Newlines links und rechts wegzuschneiden? Ich halte meine Methode für langsam.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
use HTML::TableExtract; #für die tabelle
use LWP::Simple (); #um die html seite zu holen
my $URL = "http://www.example.com/foo/bar";
my $data = LWP::Simple::get($URL) or die "Side unable to get";
my $te = HTML::TableExtract->new( headers => [qw(Nummer Status-Nr. Datum Zeit Bemerkung Statustext Text2)] );
$te->parse($data);
foreach my $ts ($te->tables) {
foreach my $row ($ts->rows) {
foreach my $lvar (@$row) {
$lvar =~ s/^\s*(.*?)\s*$/$1/; # strip whitespace and newlines
}
print join(',', @$row), "\n";
}
}
Und habe ich eine Möglichkeit, die objektorientierte Schreibweise (z. B. $ts->rows) zu umgehen? Dieses ganze Thema 'objektorientiert' empfinde ich als umständlich und sinnlos. Ich weiss, das ich mit dieser Meinung ziemlich alleine dastehe (und wahrscheinlich ist sie falsch) aber bisher konnte mir noch niemand die Sinnhaftigkeit dieses Programmierstils näher bringen. Aus dem Grund habe ich auch einen früheren Versuch Java zu lernen wieder aufgegeben.
Gruß
Richard