- if ($self->{tt}->process($template_file, { $self->vars($r) }, \$output )) {
- $r->{output} = $output;
- return OK;
- }
- else {
+ my $processed_ok = eval{$self->{tt}->process($template_file, { $self->vars($r) }, \$output );};
+ if ($processed_ok) {
+ $r->{output} = $output;
+ return OK;
+ } else {
+ if ($@) {
+ warn "fatal error in template '$template_file' : $@\n";
+ $r->{error} = "fatal error in template '$template_file' : $@";
+ } else {
+ warn "TT error for template '$template_file'\n" . $self->{tt}->error;