use URI; my $user_url = "http://www.stonehenge.com/cgi/dilbert"; my $params = [ max => 5, scary => "%&foo;%" ]; # ... my $uri = URI->new($user_url); $uri->query_form(@$params); print $uri->as_string;