Hi,
- Wie kann ich eine Datei auslesen, und die einzelnen Zeilen einem Array hinzufügen?
open(READ,"$datei");
@array = <READ>;
close(READ);
ist wohl der einfachste Weg. Du kannst die mittlere Zeile auch durch eine der folgenden Varianten ersetzen:
while ($line = <READ>) { push(@array,$line); }
while (<READ>) { push(@array,$_); }
- Was hat es mit der HTML-Transfer-Methode POST auf sich? Wie kann ich daraus Daten lesen?
POST hat im Gegensatz zu GET auch in der Praxis keinerlei Beschränkungen, was die Größe betrifft. Bei GET bekommt man gelegentlich schon bei einer URL-Komplettlänge von 256 Zeichen Probleme, bei POST kannst Du prinzipiell Deine gesamte Festplatte auf einmal übertragen.
Abfragen tust Du es am einfachsten so:
use CGI;
$query = new CGI;
print $query->param("name"); # liefert Dir den value des Eingabefeldes "name"
- Warum übergeben die Browser die einzelnen Worter in Eingabefeldern, die durch ein Leerzeichen getrennt sind, statt mit einem Leerzeichen mit einem Pluszeichen (z.B. so: http://127.0.0.1/cgi-bin/test.pl?input1=In+München+steht+ein+Hofbraühaus&Input2=Lied) und nicht ganz normal? Wird das mit der POST-Methode anders?
Eine solche URL ist nur bei GET vorhanden; POST überträgt anders (deswegen sieht man das ganze nicht). Bei GET bzw. den Folgen auf dem Server gilt das Leerzeichen jedoch als Trennzeichen, deswegen muß es - wie viele andere Zeichen auch - kodiert werden. Das Zeichen "&" beispielsweise wird als "%26" kodiert, weil es sonst als Trenner der Parameter benutzt wird.
Wenn Du das Modul CGI.pm (s.o.) benutzt, brauchst Du Dich darum aber nicht zu kümmern; ansonsten siehe <../../tgcm.htm> ganz oben.
Die ersten zwei Fragen sind zwar in SelfHTML beantwortet, aber die beiden Beispiele dazu funktionieren nicht.
Welche Beispiele funktionieren nicht?
Cheatah