sub render { my $self = shift; my $tt = $self->engine; $tt->process($self->template, { $self->template_vars }, \my $output) or die $tt->error; # passes Template::Exception upward $self->display($output); } sub template_vars { my $self = shift; my $self_object = $self->reflect->object; # in case we have a classname return ( self => $self_object ); }