タイトル長い。っていうかそのまんまです。 #!/usr/bin/perl use strict; use warnings; use URI; my $s = 'http://example.com/?q=%82%e2%82%e9%95v%82%c5%8aw%82%d4'; utf8::upgrade($s); my $uri = URI->new($s); my %qf = $uri->query_form; $qf{flag} = 'ON'; $uri->query_form( %qf ); my $uri_str = $uri->as_string; これ、一見すると$uri_strは http://example.com/?q=%82%e2%82%e9%95v%82%c5%8aw%82%d4&flag=ONになりそうなんですが、実際には http://example.com/?q=