in reply to The Power of Objects

If you would have used an OO framework like CGI::Application for the structure of your app, you would have been able to do this very easily, without needing to subclass HTML::Template.

package My::App; use base qw(CGI::Application); sub load_tmpl { my $self = shift; my $template = $self->SUPER::load_tmpl(@_); # add some global params here $template->param( ... ); return $template; } sub runmode { my $self = shift; my $template = $self->load_tmpl('filename.tmpl'); $template->param( ... ); return $template->output; }

OO doesn't work for everything, but if you find yourself passing the same bits of data to all of your functions, then you probably should at least investigate using an object instead.