50 lines
1.1 KiB
Plaintext
Executable File
50 lines
1.1 KiB
Plaintext
Executable File
#!/usr/local/bin/perl5
|
|
|
|
# Very much like the get_post.pl, except we're passing a request
|
|
# method to parse_form_data.
|
|
|
|
use CGI::Lite;
|
|
|
|
$cgi = new CGI::Lite;
|
|
|
|
# We specifically instruct CGI::Lite to read POSTed form data. Why
|
|
# is this useful, you may ask? This forces the user to fill out
|
|
# your form -- where the METHOD is POST -- as opposed to passing a
|
|
# query string to the CGI program, like so:
|
|
#
|
|
# http://www.some.com/cgi-bin/program.pl?name=john&age=45
|
|
|
|
%data = $cgi->parse_form_data ('POST');
|
|
|
|
print "Content-type: text/plain", "\n\n";
|
|
|
|
while (($key, $value) = each %data) {
|
|
|
|
# Let's check to see if a value is a reference to an array,
|
|
# which indicates multiple values for the field.
|
|
|
|
if (ref $value) {
|
|
@all_values = $cgi->get_multiple_values ($value);
|
|
|
|
print "$key = @all_values\n";
|
|
} else {
|
|
print "$key = $value\n";
|
|
}
|
|
}
|
|
|
|
print "\nHere are the same key/value pairs in order:\n";
|
|
|
|
foreach $key ($cgi->get_ordered_keys) {
|
|
$value = $data{$key};
|
|
|
|
if (ref $value) {
|
|
@all_values = $cgi->get_multiple_values ($value);
|
|
|
|
print "$key = @all_values\n";
|
|
} else {
|
|
print "$key = $value\n";
|
|
}
|
|
}
|
|
|
|
exit (0);
|