Nun erscheint 'Can't call method "param" on an undefined value at D:\Server\Apache2\cgi-bin\search.pl line 53'.
Im Prinzip ist alles was das Script nun tut auf den Websiten die übergeben wurden nach einem Ausdruck zu suchen:
if ($query->param()) {
foreach (my $query->param('websites') =~ /(http\S*)/gi) { #<- line 53my $query ist nicht definiert. Mach mal das my davor weg.
Struppi.
Danke, habe das Script aber nochmal etwas umgeschrieben (mittels LWP::UserAgent nun), um Status-Codes zu erhalten.
Dummerweise kommt nun immer:
Error: 400 URL must be absolute
unless ($response->is_success || $response->code == 301 || $response->code == 302) {
print "<li><a href="$uri">$uri</a> | ".$query->param('suche')." | Error: ".$response->code." ".$response->message."</li>\n";
}
http://visualgrafyx.com/publications/learn-to-seek/ sollte ja nun wirklich absolut sein ;-)
Insgesamt:
if ($query->param()) {
foreach ((my $uri = $query->param('websites')) =~ /(http\S*)/gi) {
my $ua = LWP::UserAgent->new;
my $response = $ua->get('$uri');
print "<ul>\n";
unless ($response->is_success || $response->code == 301 || $response->code == 302) {
print "<li><a href="$uri">$uri</a> | ".$query->param('suche')." | Error: ".$response->code." ".$response->message."</li>\n";
}
elsif ($response->content =~ /($query->param('suche'))/i) {
print "<li><a href="$uri">$uri</a> | ".$1."</li>\n" if $query->param('treffer');
}
else {
print "<li><a href="$uri">$uri</a> | ".$query->param('suche')."</li>\n" if $query->param('ktreffer');
}
print "</ul>\n";
}
}
Johannes