my $query_string; foreach (keys %nvpairs) { # guess which module defines uri_escape =) $query_string .= "&" if $query_string; $query_string .= "$_=". uri_escape($nvpairs{$_}); } # assuming $q is a CGI query object ... print $q->a({href=>"http://www.foo.com?$query_string"}, "click me!");