Date-Time
- Date and Time
Date and time in Perl, converting Epoch seconds etc.
|
|
14.02.2006
Inline Code
Portable and RFC-compliant Inline Code for CGI key pair processing
my $q = &ParseForm();
print "CGI var 'foo' is ", $q->{'foo'};
sub ParseForm {
my ($pair, $name, $value, @missing_fields, @bad_emails, @pairs, $buffer);
my %INPUT = ();
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
@pairs = split(/&/, $ENV{'QUERY_STRING'});
}
elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
}
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/\r//g;
$INPUT{$name} = $value;
}
if ( $INPUT{'debug'} ) {
foreach $name (keys %INPUT) {
print "$name is «$INPUT{$name}»";
}
}
\%INPUT;
}
|