#!/usr/bin/perl use strict; use warnings; use HTML::Template; my $page_params = { title => "STEVE" }; my $layout_params = { title => "STEVE", page => page($page_params), }; my $layout = HTML::Template->new( filename => "layout.template" ); $layout->param($layout_params); print $layout->output(); sub page { my ($args) = @_; my $page = HTML::Template->new( filename => "page.inc" ); $page->param($args); return $page->output; }