The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.