aboutsummaryrefslogtreecommitdiffstats
path: root/www/p5-URI-Normalize/pkg-descr
blob: 739a35b1a1ad7752fa8819ca588e18fd327d6de8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
URI::Normalize normalizes URIs according to RFC 3986.

This has a number of useful applications in allowing URIs to be compared with
fewer false negatives. For example, all of the following URIs will normalize to
the same value:

HTTPS://www.example.com:443/../test/../foo/index.html
https://WWW.EXAMPLE.COM/./foo/index.html
https://www.example.com/%66%6f%6f/index.html
https://www.example.com/foo/index.html

That is, they will all be normalized into the last value.

Example:

use URI;
use URI::Normalize qw( normalize_uri remove_dot_segments );
my $uri = URI->new('HTTPS://www.Example.com:443/../test/../foo/index.html');

say normalize_uri($uri);       #> https://www.example.com/foo/index.html
say remove_dot_segments($uri); #> HTTPS://www.Example.com:443/foo/index.html