Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

フォームデータ一括受け取り

昔。

my (%in, $buffer);
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
elsif ($ENV{'REQUEST_METHOD'} eq 'GET') {
  $buffer = $ENV{'QUERY_STRING'};
}
for my $pair (split(/&/, $buffer)) {
  my ($name, $value) = split(/=/, $pair);
  $value =~ tr/\+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $in{$name} = $value;
}

今風。

use CGI;
my $q = CGI->new;
my %in = $q->Vars;