use URI::Escape qw( uri_escape_utf8 ); foreach my $key ($cgi->param()) { foreach my $val ($cgi->param($key)) { printf("%s=%s\n", uri_escape_utf8($key), uri_escape_utf8($val), ); } }