sub SaveCgi { my( $self, $cgi ) = @_; $cgi = UNIVERSAL::isa($cgi,'CGI') ? $cgi : CGI->new($cgi); my $ret = ""; for my $param ($cgi->param) { my($escaped_param) = $cgi->escape($param); for my $val ($cgi->param($param)) { $ret .= "$escaped_param=".$cgi->escape($val)."&"; } } chop $ret; # simples way to remove last & return $ret; }