NAME

URI::Encode::XS - a Perl URI encoder/decoder using C

SYNOPSIS

use URI::Encode::XS qw/uri_encode uri_decode/;

my $encoded = uri_encode($data);
my $decoded = uri_decode($encoded);

DESCRIPTION

This is a Perl URI encoder/decoder written in XS based on RFC3986. This module always encodes characters that are not unreserved.

As of version 0.07, the bench script shows it to be significantly faster than URI::Escape:

Rate escape encode
escape   53944/s     --   -98%
encode 3017653/s  5494%     --
  Rate unescape   decode
unescape   74567/s       --     -97%
decode   2697001/s    3517%       --

However this is just one string - the fewer encoded/decoded characters are in the string, the closer the benchmark is likely to be (see bench for details of the benchmark). Different hardware will yield different results.

Another fast encoder/decoder which supports custom escape lists, is URI::XSEscape.

INSTALLATION

$ cpan URI::Encode::XS

Or

$ git clone https://github.com/dnmfarrell/URI-Encode-XS
$ cd URI-Encode-XS
$ perl Makefile.PL
$ make
$ make test
$ make install

CONTRIBUTORS

Christian Hansen
Jesse DuMond

REPOSITORY

https://github.com/dnmfarrell/URI-Encode-XS

LICENSE

See LICENSE

AUTHOR

© 2016 David Farrell

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 49:

Unknown directive: =over4

Around line 51:

'=item' outside of any '=over'