Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The Perl URI:: module

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


This is an attempt to update and simplify the URI::URL classes based
on RFC 2396 "Uniform Resource Identifiers (URI): Generic Syntax"

Some basic terminology has changed so it might make sense to make a
new start with new class names.  This also allows us to simplify the
implementation by getting rid of some methods since we don't really
have to be backwards compatible.  The old modules can still be used
for old code.  The new draft also allows the parser implemented by a
single regular expression which should also help making it faster than
the old modules.

The main change proposed is to use 'URI' as the main class name.  The
URI and URI::_generic class implement Uniform Resource Identifiers
parsing and resolving of relative URIs as specified by RFC 2396.

Main user visible changes from URI::URL are:

   * Don't export url() constructor function.  URI->new is short
   * No base() attribute, also means that abs() and rel() needs
     mandatory $base argument.

   * netloc --> authority

   * user/password --> userinfo

   * full_path is gone (but path_query() is quite close).

   * path_components --> path_segments.  If a path segment has
     parameters then this segment is represented by an array reference.

   * frag --> fragment.  The returned fragment is still escaped?

   * params() is gone.

   * All the epath/equery/eparam methods are gone.  The corresponding
     method without e-prefix now returns escaped strings

   * crack is gone

   * newlocal --> URI::file->new_abs

   * print_on is gone

   * URI::URL::strict() is replaced by a global variable $URI::STRICT

Comments welcomed?  These modules are discussed on the
<> mailing list.

Copyright 1998 Gisle Aas.

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
Something went wrong with that request. Please try again.