Here is a little PostData forwarder I used before. There is some test prints in there, but basically, you just get you concat all your form inputs into a string called $relay, then use LWP to forward $relay onwards.
#!/usr/bin/perl
use warnings;
use CGI 'cgi';
use LWP::UserAgent;
our ($secure_server_address,$cgi_directory);
require './store_cfg';
print "Content-type: text/html\n\n";
#my $test= 'FALSE';
my $test= 'TRUE';
my $relay;
my $cgi = new CGI;
my %input= $cgi->Vars();
foreach $name (keys %input){
$value = $input{$name};
$relay .= "$name=$value&";
}
$relay .= "Ecom_transaction_complete=$test&";
$relay .= "IOC_response_code=0&";
open (RT,">test/respgen.test");
print RT $relay;
close RT;
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new (POST => "$secure_server_address$cgi_dire
+ctory/boacc.pl");
$req->content_type('application/x-www-form-urlencoded');
$req->content("$relay");
my $res = $ua->request($req);
print $res->as_string;