Text::MicroMason::AllowGlobals(3) Share package vars between templates

SYNOPSIS

Instead of using this class directly, pass its name to be mixed in:


use Text::MicroMason;
my $mason = Text::MicroMason->new( -AllowGlobals );

Share package variables:

    $mason->set_globals( '$name' => 'Bob' );

Use the standard compile and execute methods to parse and evaluate templates:

  print $mason->compile( text=>$template )->();
  print $mason->execute( text=>$template );

Then, in a template, you can refer to those globals:

    Welcome, <% $name %>!

DESCRIPTION

Public Methods

set_globals()
Accepts a list of pairs of global variable names and corresponding values.

Adds each variable name to the allowed list and sets it to the initial value.

allow_globals()
Gets or sets the variables names to be allowed.

If called with arguments, adds them to the list.

Returns the variables to be allowed as a list, or as a space-separated string in scalar context.

Supported Attributes

allow_globals
Optional array or space-separated string of global variable names to be allowed.

Private Methods

assemble()
Adds the allow_globals_statement to each token stream before assembling it.
allow_globals_statement()
This method prepends the ``use vars'' statement needed for the template subroutines to compile.