NAME
    URI::Template - Object for handling URI templates

SYNOPSIS
        use URI::Template;
        my $template = URI::Template->new( 'http://example.com/{x}' );
        my $uri      = $template->process( x => 'y' );
        # uri is a URI object with value 'http://example.com/y'

        my %result = $template->deparse( $uri );
        # %result is ( x => 'y' )

DESCRIPTION
    This is an initial attempt to provide a wrapper around URI templates as
    described at
    http://www.ietf.org/internet-drafts/draft-gregorio-uritemplate-01.txt

INSTALLATION
        perl Makefile.PL
        make
        make test
        make install

METHODS
  new( $template )
    Creates a new URI::Template instance with the template passed in as the
    first parameter.

  as_string( )
    Returns the original template string. Also used when the object is
    stringified.

  variables( )
    Returns an array of unique variable names found in the template. NB:
    they are returned in random order.

  all_variables( )
    Returns an array of variable names found as they appear in template --
    in order, duplicates included.

  process( %vars|\@values )
    Given a list of key-value pairs or an array ref of values (for
    positional substitution), it will URI escape the values and substitute
    them in to the template. Returns a URI object.

  process_to_string( %vars|\@values )
    Processes input like the "process" method, but doesn't inflate the
    result to a URI object.

  deparse( $uri )
    Does some rudimentary deparsing of a uri based on the current template.
    Returns a hash with the extracted values.

AUTHOR
    Brian Cassidy <bricas@cpan.org>

COPYRIGHT AND LICENSE
    Copyright 2008 by Brian Cassidy

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.