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 2007 by Brian Cassidy

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