sub uriescape { my ($foo) = @_; my ($out); foreach (split //,$foo) { if ( $_ eq " ") {$out.="+";next}; if(ord($_) < 0x41 || ord($_) > 0x7a) { $out.=sprintf("%%%02x",ord($_)) } else { $out.=$_ } } $out; }