Moin!
Auch wenn ich nur Folgendes einsetze lande ich nur wieder beim leeren Formular...
my $eingabe = undef;
read(STDIN,$eingabe,$ENV{'CONTENT_LENGTH'});
Und wenn du das ^^^ auch weglässt? Soweit ich weiß, liest das CGI-Modul bereits die POST-Daten ein, d.h. wenn du soweit bist welche abzuholen, sind diese schon „weg“. Dafür gibt es aber Wege und Möglichkeiten diese Daten über die param-Methode deines CGI-Objektes auszulesen:
# Der Querystring war ?key=val¶m=wert¶m=anderer
my $cgi = new CGI;
# gibt "val" aus:
print $cgi->param('key'), "\n";
# gibt "wert, anderer" aus:
print join(', ', $cgi->param('param')), "\n";
An dem letzten Beispiel erkennt man übrigens sehr schön, dass Perl im Gegensatz zu PHP auch mit mehrfachen Werten für einen URL-Parameter elegant umgehen kann.
Viele Grüße,
Robert