#!/usr/bin/perl package Template::Declare::Anon; use strict; use warnings; use base qw/Exporter/; our $VERSION = "0.03"; use Template::Declare (); use Template::Declare::Tags (); use overload '""' => \&process; our @EXPORT = qw( anon_template process ); sub anon_template (&) { my $self = shift; bless $self, __PACKAGE__; } sub process { my ( $template, @args ) = @_; local %Template::Declare::Tags::ELEMENT_ID_CACHE = (); local $Template::Declare::Tags::self = $Template::Declare::Tags::self || "Template::Declare"; Template::Declare->new_buffer_frame; &$template($Template::Declare::Tags::self, @args); my $output = Template::Declare->buffer->data; Template::Declare->end_buffer_frame; return $output; } __PACKAGE__; __END__ =pod =head1 NAME Template::Declare::Anon - B Anonymous Template::Declare templates =head1 SYNOPSIS This module is no longer necessary. The following code will just work: use Template::Declare::Tags 'HTML'; print html { body { p { "foo" } } }; =head1 SEE ALSO L =head1 AUTHOR Yuval Kogman =head1 COPYRIGHT & LICENSE Copyright (c) 2007 Yuval Kogman. All rights reserved This program is free software; you can redistribute it and/or modify it under the terms of the MIT license or the same terms as Perl itself. =cut