in reply to Having problem with url space conversion

Straight From the URI::Escape docs:

uri_unescape($string,...)

Returns a string with all %XX sequences replaced with the actual byte (octet).

This does the same as:
$string =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;

but does not modify the string in-place as this RE would. Using the uri_unescape() function instead of the RE might make the code look cleaner and is a few characters less to type.

In a simple benchmark test I made I got something like 40% slowdown by calling the function (instead of the inline RE above) if a few chars where unescaped and something like 700% slowdown if none where. If you are going to unescape a lot of times it might be a good idea to inline the RE.

If the uri_unescape() function is passed multiple strings, then each one is unescaped returned.

------------------------------------
based on Version 3.19 of URI::Escape