Perl und enctype='multipart/form-data'

hallo freunde!

ich versende ueber ein html-formular eine datei. soweit ist das ok, aber das perl-programm, das die datei wieder auslesen und auf dem server speichern soll klappt das noch nicht so ganz.

das programm kopiert die zeichen aus STDIN in die datei, allerdings nur, bis $1A (ich glaub, der code fuers dateiende) in STDIN auftaucht.

im moment mache ich das so:

open(HANDLE,">ausgabe.dat");
binmode(HANDLE);
read(STDIN, $daten, $laenge);
print HANDLE $daten;
close HANDLE;

was ist denn daran bloss falsch?

yours,
hannes

Hi,

im moment mache ich das so:

[…]

was ist denn daran bloss falsch?

weiß ich nicht. Aber ich weiß, wo steht, wie Du’s richtig machst - nämlich auf Deiner Festplatte, wenn Du

perldoc CGI

eingibst.

Cheatah

hi cheatah

im moment mache ich das so:
[…]
was ist denn daran bloss falsch?

weiß ich nicht. Aber ich weiß, wo steht,
wie Du’s richtig machst - nämlich auf
Deiner Festplatte, wenn Du
perldoc CGI
eingibst.

hmm, das hilft mir nicht wirklich. ausserdem laeuft das cgi-spezifische ja alles. das problem liegt eher beim stream. perl meint immer, nach $1a ist schluss. und das stimmt nicht.

yours,
hannes

Cheatah

Hi,

weiß ich nicht. Aber ich weiß, wo steht,
wie Du’s richtig machst - nämlich auf
Deiner Festplatte, wenn Du
perldoc CGI
eingibst.

hmm, das hilft mir nicht wirklich.

warum nicht? Auf der manual page zum CGI-Modul steht inkl. Beispiel, wie man einen Upload durchführt.

ausserdem laeuft das cgi-spezifische ja
alles.

Nein, ganz offensichtlich nicht :smile:

das problem liegt eher beim
stream. perl meint immer, nach $1a ist
schluss. und das stimmt nicht.

Du benutzt dazu aber nicht CGI.pm. Wenn der Fehler _mit_ dem Modul auftritt, kannst Du Dich an den Autor wenden, der sich sicherlich bald an ein Bugfix machen wird - aber ehrlich gesagt bezweifele ich einen Fehler. Vielmehr hast Du irgendwelche Details nicht beachtet, die ich auch nicht kenne, weil ich mich weder mit den zugehörigen RFCs noch mit den entsprechenden Quell- und Zielsystemen und -programmen (Client und Server) beschäftigt habe, die aber der Autor von CGI.pm sehr wohl kennt und entsprechend in seinem Programmcode beachtet.

Soweit ich weiß funktioniert ein Upload mit CGI.pm nur dann nicht, wenn man mit Netscape versucht, ein ganzes Verzeichnis hochzuladen. Da das aber eh ein unsinniges Unterfangen ist, ist dieser Fehler verständlich.

Cheatah