Hallo
Ich bin ein ziemlicher CGI-Anfänger, habe mich aber nun doch mal was an das Thema herangewagt. Leider mit nur mässigem Erfolg. Mein Script zur Datenaufbereitung will einfach nicht funktionieren, obwohl ich nun alles viele Male genau durchgegangen bin, ohne einen Fehler zu finden.
Das Script wird zwar anscheinend eingelesen, es dauert dann aber lange (1bis 2 Minuten), bis ich die Meldung "Keine Daten gefunden" erhalte.
Andere Scripts, welche ich erstellt habe, laufen problemlos, am Webserver oder Perlinterpreter kann es also nicht liegen, der Fehler muss im Script sein.
Kann mir jemand weiterhelfen?
Viele Dank
Stephan
Hier nun das Script:
#!c:\perl\bin\perl.exe
$daten = <STDIN>;
%daten = &CGIDatenaufbereiter ($daten);
print "Content-type: text/html\n\n";
print '<html>';
print '<head>';
print '<title>Antwortseite</title>';
print '</head>';
print '<body>';
print '<hr>';
while ( ($temp, $wert = each %daten)
{
print "$wert";
}
print '<hr>';
print '</body>';
print '</html>';
sub CGIDatenaufbereiter
{
local ($cgidatenskalar, $name, $daten);
local @cgidatenliste;
local %cgidatenhash;
if ( $_[0] )
{
$cgidatenskalar = $_[0];
}
else
{
print STDERR "Es wurden keine Daten an den CGIDatenaufbereiter übergeben\n";
}
@cgidatenliste = split(/[&;]/ , $cgidatenskalar);
foreach $listeneintrag (@cgidatenliste)
{
$listeneintrag =~ s/+/ /go;
($name, $daten) = split( /=/ , $listeneintrag );
$name =~ s/%(..)/pack("c",hex($1))/ge;
$daten =~ s/%(..)/pack("c",hex($1))/ge;
$cgidatenhash{$name} = $daten;
}
return %cgidatenhash;
}