.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" 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::PassVariables 3pm" .TH Text::MicroMason::PassVariables 3pm "2019-11-10" "perl v5.30.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::PassVariables \- Pass template data as variables .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( \-PassVariables ); .Ve .PP Use the standard compile and execute methods to parse and evaluate templates: .PP .Vb 2 \& print $mason\->compile( text=>$template )\->( \*(Aqname\*(Aq=>\*(AqDave\*(Aq ); \& print $mason\->execute( text=>$template, \*(Aqname\*(Aq=>\*(AqDave\*(Aq ); .Ve .PP Templates can now access their arguments as global variables: .PP .Vb 1 \& Welcome, <% $name %>! .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Like Text::Template, this package passes in template arguments as package variables. For example, if you pass in an argument list of \f(CW\*(C`foo => 23\*(C'\fR, it will set the variable \f(CW$foo\fR in the package your template is compiled in. This allows template code to refer to \f(CW$name\fR rather than \f(CW$ARGS\fR{name}. .PP The strict pragma is disabled to facilitate these variable references. .PP \&\fBCaution:\fR Please note that this approach has some drawbacks, including the risk of clobbering global variables used for other purposes. It is included primarily to allow the TextTemplate module to emulate the behavior of Text::Template, and for quick-and-dirty simple templates where succinctness is more important than robustness. .SS "Supported Attributes" .IX Subsection "Supported Attributes" .IP "package" 4 .IX Item "package" Target package namespace. Defaults to Text::MicroMason::Commands. .SS "Private Methods" .IX Subsection "Private Methods" .IP "\fBassembler_rules()\fR" 4 .IX Item "assembler_rules()" Adds Perl fragments to handle package and symbol table munging. .IP "\fBassemble()\fR" 4 .IX Item "assemble()" Modifies Perl subroutine to embed the target package namespace. .IP "\fBinstall_args_hash()\fR" 4 .IX Item "install_args_hash()" Performs symbol table munging to transfer the contents of an arguments hash into variables in a target namespace. .SH "SEE ALSO" .IX Header "SEE ALSO" The interface being emulated is described in Text::Template. .PP 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.