hi folks,
ich habe probleme mit einem kleinen perl program das formulardaten in eine datei schreiben soll. leider kommen die daten nicht in der datei an. vermutlich ist der zurückgeliferte hash leer. bin noch newbie in perl, ich wäre extremultradankbar wenn jemand eine idee hat warum folgende zeilen nicht funktionieren. thx:-)
PROG:
#!c:/perl/perl.exe -w
read (STDIN, $daten, $ENV{'CONTENT_LENGTH'});
%daten = &CGIDA ($daten);
$name = "test".".dat";
$verz = "[lw]:\[verzeichnis]\[subverz]\[subverz]\[subverz]\";
open DATEN, ">>$verz$name";
while ( ($temp, $wert) = each %daten)
{
print "$wert";
$temp = 0
}
close DATEN;
sub CGIDA
{
local ($cgiskalar, $name, $daten);
local @cgiliste;
local %cgihash;
if ($_[0])
{
$cgiskalar = $_[0];
}
else
{
print STDERR "keine Daten uebergeben!!!\n";
}
@cgiliste = split(/[&;]/ , $cgiskalar);
foreach $listeneintrag (@cgiliste)
{
($name, $daten) = split( /=/ , $listeneintrag);
$name =~ s/%(..)/pack("c",hex($1))/ge;
$daten =~ s/%(..)/pack("c",hex($1))/ge;
$cgihash {$name} = $daten;
}
return $cgihash
}
print "Content-type: text/html\n\n";
print '<html>';
print '<head>';
print '<title>Antwortseite</title>';
print '</head>';
print '<body>';
print '<hr>';
print '<h1>Ihre Daten wurden erfolgreich gespeichert!<H1>';
print '<hr>';
print '</body>';
print '</html>';
PROGENDE
bemerkung: hab oben nur die richtigen verz gegen dummies ersetzt aber die pfade sind definitiv ok.
hoffe jemand kann mir helfen,thx.
cu martin