$options->{layout} = 0 if $options->{type} ne 'html';
}
+ # Let the presenter do the rest of the work.
+ my $output;
+ {
+ local $::form->{title} = $locals{title} if $locals{title};
+ $output = $self->presenter->render(
+ $template,
+ { type => $options->{type}, process => $options->{process} },
+ %locals,
+ SELF => $self,
+ );
+ }
+
if ($options->{header}) {
# Output the HTTP response and the layout in case of HTML output.
}
}
- # Let the presenter do the rest of the work.
- my $output = $self->presenter->render(
- $template,
- { type => $options->{type}, process => $options->{process} },
- %locals,
- SELF => $self,
- );
-
# Print the output if wanted.
print $output if $options->{output};
if (!ref $file_name_or_content) {
$::locale->with_raw_io(\*STDOUT, sub { print while <$file> });
$file->close;
+ unlink $file_name_or_content if $params{unlink};
} else {
$::locale->with_raw_io(\*STDOUT, sub { print $$file_name_or_content });
}
=item * C<name> -- the name presented to the browser; defaults to
C<$file_name>; mandatory if C<$file_name_or_content> is a reference
+=item * C<unlink> -- if trueish and C<$file_name_or_content> refers to
+a file name then unlink the file after it has been sent to the browser
+(e.g. for temporary files)
+
=back
=item C<url_for $url>