NAME

URI::Template - Object for handling URI templates (RFC 6570)

SYNOPSIS

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

or

    use URI::Template ':template_process'
    
    my $uri = template_process ( 'http://example.com/{x}', x => 'y' );

DESCRIPTION

This module provides a wrapper around URI templates as described in RFC 6570: http://tools.ietf.org/html/rfc6570.

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 (optional).

template( $template )

This method returns the original template string. If provided, it will also set and parse a new template string.

variables

Returns an array of unique variable names found in the template (in the order of appearance).

expansions

This method returns an list of expansions found in the template. Currently, these are just coderefs. In the future, they will be more interesting.

process( \%vars )

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 )

Processes input like the process method, but doesn't inflate the result to a URI object.

EXPORTED FUNCTIONS

template_process( $template => \%vars )

This is the same as URI::Template->new($template)->process(\%vars) But shorter, and usefull for quick and easy genrating a nice URI form parameters.

Returns an URI object

template_process_as_string( $template => \%vars )

Same as above, but obviously, returns a string.

AUTHORS

  • Brian Cassidy <bricas@cpan.org>

  • Ricardo SIGNES <rjbs@cpan.org>

CONTRIBUTERS

  • Theo van Hoesel <Th.J.v.Hoesel@THEMA-MEDIA.nl>

COPYRIGHT AND LICENSE

Copyright 2007-2018 by Brian Cassidy

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

1 POD Error

The following errors were encountered while parsing the POD:

Around line 470:

You forgot a '=back' before '=head1'