use CGI::Simple; # or use CGI; use URI::Escape; my $CGI = CGI::Simple->new; # or CGI->new; my $query = join(';', map { my $k = shift @$_; join(';', map { uri_escape($k) . '=' . uri_escape($_) } @$_) } map { [$_, $CGI->param($_)] } $CGI->param() ); # now we can send a GET rquest somewhere $CGI->redirect('http://my.server.com/script.pl?' . $query);