use URI::Escape; my $postbody; while (my ($key,$value) = each %params) { $postbody .= "&" if defined $postbody; $postbody .= uri_escape($key)."=".uri_escape($value); }