URI::Escape - Escape and unescape unsafe 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
       following functions are provided (and exported by
       default):

       uri_escape($string, [$unsafe])
           This function replaces all unsafe characters in the
           $string with their escape sequence and return the
           result.

           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


       uri_unescape($string)
           Returns a string with all %XX sequences replaced with
           the actual character.

       The module can also export the %escapes hash which
       contains the mapping from all characters to the
       corresponding escape code.


SEE ALSO

       the URI::URL manpage


COPYRIGHT

       Copyright 1995-1997 Gisle Aas.