#a bunch of lines like the following to get POST'd data: my $email = uri_escape($apr->param('email' ))||''; my $customerid = uri_escape($apr->param('customerID'))||''; #then get a ref to a hash of all posted values #it's redundant, i know, but it serves a purpose my $values = $apr->param; #later, to construct a redir, this hack: my $base_url = "http://foo.com/somecgi?"; my $middle = join('&', map { $_ . "=" .uri_escape($values->{$_}) } keys %$values ); my $tail = "&FilePath=$cleanfilename&transfer_source=http"; my $redir = $base . $middle . $tail; # sub to construct a log string or submitted info # anonymous to avoid warnings under mod_perl my $err_log = sub { my $up = shift; my @vars = ( $up, $clientb, $clientbv, $clientos, $trckingnum, $customerid, $xferid, $cgi,$customerid, $contactname, $email,$phone,'htttp' ); my $string = join(',', map {"\"" . $_ . "\""} map {uri_unescape($_)} @vars ); $string .= "\012"; return $string; };