use URI; my ($dir, $lang, $des) = qw(DIR LANG DES); # sample my $u = URI->new("agent_site.pl"); $u->query_form( dir => $dir, lang => $lang, des => $des, page => "page=https://www.consumerinfo.com/cic/form_online_a1.asp?sc=00030000&af=&br=&cl=0105", ); print "$u\n"; #### agent_site.pl?dir=DIR&lang=LANG&des=DES&page=page%3Dhttps%3A%2F%2Fwww.consumerinfo.com%2Fcic%2Fform_online_a1.asp%3Fsc%3D00030000%26af%3D%26br%3D%26cl%3D0105 #### use HTML::Entities qw(encode_entities); print encode_entities($u); #### agent_site.pl?dir=DIR&lang=LANG&des=DES&page=page%3Dhttps%3A%2F%2Fwww.consumerinfo.com%2Fcic%2Fform_online_a1.asp%3Fsc%3D00030000%26af%3D%26br%3D%26cl%3D0105