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 To install this module via Module::Build: perl Build.PL ./Build # or `perl Build` ./Build test # or `perl Build test` ./Build install # or `perl Build install` To install this module via ExtUtils::MakeMaker: 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 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 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.