in reply to encoding URLs in URLs
Co-incidently I just had this problem two days ago. I used a quick unpack("H*", $url) to "escape" everything. The corresponding pack("H*", %q->param('url') ) brings its back to a usable form.
Works well for me, and i can put the code in a base module to make a "transparent url munging" feature.. ;-)(albeit with a performance hit)
Update: whoops %q->param('url') = $q->param('url')
In Section Seekers of Perl Wisdom