use strict; use warnings; use HTML::Template; use Inline::Files; my $skeleton = HTML::Template->new(filehandle => \*SKELETON); my @page = ( HTML::Template->new(filehandle => \*PAGE1), HTML::Template->new(filehandle => \*PAGE2), ); for (@page) { $skeleton->param(body => $_->output); print $skeleton->output; } __SKELETON__
##
[% title %]
[% content %]
####
(page1.html)
[% WRAPPER skeleton.html title="Page 1" %]
hello world
[% END %]
-----------------------------------------------
(page2.html)
[% WRAPPER skeleton.html title="Page 2" %]
foo bar baz
[% END %]