Hi Max!
1.Variante:
Du sendest Deine Formular mit "post"
<FORM method=POST action="/user-cgi-bin/dein_script.pl">
Dann kannst Du diesen Perl code in Deinem Script verwenden:
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.\n)*-->//g;
if ($allow_html eq '0') {
$value =~ s/<([^>]\n)*>//g;
}
$INPUT{$name} = $value;
}
(Ist $allow_html = 0, dann wird zusätzlich noch eventuell eingegebener HTML-Code entfernt.)
Du kannst dann über $INPUT('Textfeld') auf die Felder zugreifen. Z.B. so
print HTML_FILE "Die MailAdresse ist: $INPUT{'email'}<br>\n";
Achtung: "Textfeld" ist case sensitive ($INPUT{'email'} ist nicht gleich $INPUT{'Email'}) und muss exakt so geschrieben werden wie im HTML-Formular.
2. Variante:
Du nutzt das Modul
use CGI qw(:standard);
Dann kannst Du unabhängug von Deiner Methode im Formular (post oder get) über
param('Textfeld') auf den Inhalt zugreifen, z.B. so:
print HTML_FILE "Die MailAdresse ist: param('email')<br>\n";
Gruß Frank
P.S. Korrekt wäre eigentlich folgendes:
print HTML_FILE "Die MailAdresse ist:".$INPUT{'email'}."<br>\n";
Die Punkte zw. "Die Mail...ist:", der Variablen $INPUT{..} und "<br>\n" verbinden die 3 Teilstrings zu einem. Aber der Perlinterperter ist kulant und erkennt, das $INPUT{..} kein Text sondern eine Variable ist und setzt dort deren Inhalt ein...