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.


SEE ALSO

URL