Hallo!
Ich bin schon etwas verzweifelt, ich dieses Script einfach nicht zum laufen kriege.
Wundersamerweise läuft es aber lokal einwandfrei, es verbindet sich ins I-net und ruft die Daten ab.
Im Netz krieg ich aber nur "500 Internal Server Error" (obwohl Carp qw(fatalsToBrowser); gesetzt ist; LWP::Simple ist laut Provider auch installiert)
Kurzbeschreibung: Das script liest eine Datei (mit Aktienkennnummern) aus, und fragt dann die Aktienkurse im Internet ab. Während dem Vorgang wird der user über den Verlauf informiert. Am Ende werden die Werte in eine Datei geschrieben.
*Ihr seid meine letzte Hoffnung*
#!/usr/local/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use LWP::Simple;
open STATS, "<refresh.txt";
@refresh = <STATS>;
close STATS;
chomp @refresh;
my %nva;
$| = 1;
print "Content-type: text/html\n\n",'<html><div style="text-align:center;font-size:16pt;font-weight:bold">';
foreach (@refresh) {
(my $wkn, my $ort) = split /|/;
print "Suche $wkn ...<br>\n";
my $res = "http://blb.teledata.de:9150/blb/abfrage/ergebnis.html?searchfor=$wkn&searchforb=$ort&searchforicat=Alle+Kategorien";
my $test = get($res;);
my @cont = split(/</TD>/,get($res));
$cont[8] =~ /([0-9.]+)<br>/;
$nva{$wkn} = $1;
print "...Vorgang erfolgreich! Neuer Wert: $nva{$wkn} <br>\n";
}
print 'Eintragen der neuen Werte..<br>';
open DATA, "<datasheet.txt";
@data = <DATA>;
close DATA;
$c = 0;
foreach (@data) {
my @temp = split/|/;
STSAZ: foreach (keys %nva) {
if ($_ == $temp[1]) {
$temp[4] = $nva{$_};
$data[$c] = join('|',@temp);
delete $nva{$_};
last STSAZ}
}
$c++}
open DATS, ">datasheet.txt";
print DATS @data;
close DATS;
print '<font size="+1">Alles erledigt!<br><a href="stats.cgi">Zurück</a></font></div></html>';