NAME
uri_escape - Escape unsafe characters
uri_unescape - Unescape escaped characters
SYNOPSIS
use URI::Escape;
$safe = uri_escape("10% is enough\n");
$verysafe = uri_escape("foo", "\0-\377");
$str = uri_unescape($safe);
DESCRIPTION
This module provide functions to escape and unescape URI strings. Some characters are regarded as "unsafe" and must be escaped in accordance with RFC 1738. Escaped characters are represented by a triplet consisting of the character "%" followed by two hexadecimal digits.
The uri_escape() function takes an optional second argument that overrides the set of characters that are to be escaped. The set is specified as a string that can be used in a regular expression character class (between [ ]). E.g.:
\x00-\x1f\x7f-\xff # all control and hi-bit characters
a-z # all lower case characters
^A-Za-z # everything not a letter
The default set of characters to be escaped is:
\x00-\x20"#%;<>?{}|\\\\^~`\[\]\x7F-\xFF
The module can also export the %escapes hash which contains the mapping from all characters to the corresponding escape code.