.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Text::MicroMason::ExecuteCache 3pm" .TH Text::MicroMason::ExecuteCache 3pm "2023-08-10" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Text::MicroMason::ExecuteCache \- Use a Cache for Template Results .SH "SYNOPSIS" .IX Header "SYNOPSIS" Instead of using this class directly, pass its name to be mixed in: .PP .Vb 2 \& use Text::MicroMason; \& my $mason = Text::MicroMason\->new( \-ExecuteCache ); .Ve .PP Use the standard compile method to parse a template into a subroutine: .PP .Vb 2 \& my $subref = $mason\->compile( text=>$template ); \& print $subref\->( \*(Aqname\*(Aq=>\*(AqDave\*(Aq ); .Ve .PP The template does not have to be interpreted the second time because the results are cached: .PP .Vb 1 \& print $subref\->( \*(Aqname\*(Aq=>\*(AqDave\*(Aq ); # fast second time .Ve .PP When run with different arguments, the template is re-interpreted and the results stored: .PP .Vb 1 \& print $subref\->( \*(Aqname\*(Aq=>\*(AqBob\*(Aq ); # first time for Bob \& \& print $subref\->( \*(Aqname\*(Aq=>\*(AqBob\*(Aq ); # fast second time for Bob .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Caches the output of templates. .PP Note that you should not use this feature if your template code interacts with any external state, such as making changes to an external data source or obtaining values that will change in the future. (However, you can still use the caching provided by Text::MicroMason::CompileCache.) .SS "Public Methods" .IX Subsection "Public Methods" .IP "\fBcompile()\fR" 4 .IX Item "compile()" Wraps each template that is compiled into a Perl subroutine in a memoizing closure. .SS "Supported Attributes" .IX Subsection "Supported Attributes" .IP "execute_cache" 4 .IX Item "execute_cache" Defaults to an instance of Text::MicroMason::Cache::Simple. .PP This module uses a simple cache interface that is widely supported: the only methods required are \f(CW\*(C`get($key)\*(C'\fR and \f(CW\*(C`set($key, $value)\*(C'\fR. You can use the simple cache classes provided in the Text::MicroMason::Cache:: namespace, or select other caching modules on \s-1CPAN\s0 that support the interface described in Cache::Cache. .SH "SEE ALSO" .IX Header "SEE ALSO" For an overview of this templating framework, see Text::MicroMason. .PP This is a mixin class intended for use with Text::MicroMason::Base. .PP For distribution, installation, support, copyright and license information, see Text::MicroMason::Docs::ReadMe.