in reply to Having problem with url space conversion

Why not using pack 'H'? Something like:
s/%([[:xdigit:]]{2})/pack 'H',$1/eg;