#!/usr/bin/perl -w
######################################################################
# formpost.pl
######################################################################
# Perl Power! - Michael Schilli 1998
######################################################################

use LWP::UserAgent;

$ua = LWP::UserAgent->new();  # create user agent

                              # create request
$request = HTTP::Request->new('POST', 
                              'http://localhost/cgi-bin/dump.cgi');

                              # declare form content
$request->content_type('application/x-www-form-urlencoded');

                              # set form content
@form = ('f1' => 'Why? & How?', 'f2' => 'A slash: /');

$querystring = list2query(@form);

$request->content($querystring);

                              # carry out network access
$response = $ua->request($request); 

print $response->as_string();

######################################################################
sub list2query {
######################################################################
    my ($key, $value);
    my $querystring = "";

    while(($key, $value) = splice(@_, 0, 2)) {
        $value =~ s/[^\w-_]/sprintf "%%%02x", ord($&)/ge;
        $querystring .= "&" if $querystring;
        $querystring .= "$key=$value";
    }

    $querystring;
}

