Alain: formular - value und name modern parsen

Beitrag lesen

Hallo,
Ich habe mir ein perlscript zusammen gebastelt.
Gebastelt kann man so nicht sagen da ich zum einen
#!/usr/bin/perl -Tw
use strict;
use CGI::Carp qw(fatalsToBrowser);

verwende und es funktioniert tadellos.
Meine frage diesbezüglich ist,ob da nicht eventuell zuviel im sub parse drinn steht,
wenn ich mir die parse funktion bei selfhtml http://selfhtml.teamone.de/cgiperl/intro/cgihtml.htm#wechselwirkung_html_cgi
ansehe,dann siehts dort erheblich einfacher aus.
Ich füge mal meinen code unten hin zur einsicht:
my %input = parse_form();
sub parse_form {
   my ($len, $meth, $type, $input);
   my %input;

# Read three useful environment variables
   $type = $ENV{'CONTENT_TYPE'};
   $len  = $ENV{'CONTENT_LENGTH'};
   $meth = $ENV{'REQUEST_METHOD'};

if ($len > 300)  {
       die("error was found 3\n");
   }

if ($type eq 'application/x-www-form-urlencoded' || $type eq '' )   {
 my ($value, $i);

# Read in text
     if ($meth eq 'POST') {
     read(STDIN, $input, $len);
     }
     else  {
     die("error was found 2\n");
     }

#Split @in into multiple fields.
     my @vars = split(/[&;]/,$input);

foreach $i (0 .. $#vars)  {
     # Convert plus to space
     $vars[$i] =~ s/+/ /g;

# Convert %XX from hex numbers to a character
     $vars[$i] =~ s/%(..)/pack("c",hex($1))/ge;
  my ($name, $value) = split /=/, $vars[$i];
  $input{$name} = $value;
      }
   }
   else   {
      die("error was found 1");
   }

return %input;
}
---------------------------
Gruss
vom Alain