Text::MicroMason::Debug(3) Provide developer info via warn

SYNOPSIS

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


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

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

  print $mason->compile( text=>$template )->( @%args );
  print $mason->execute( text=>$template, @args );

You'll see lots of warning output on STDERR:

  MicroMason Debug create: Text::MicroMason::Base::AUTO::Debug...
  MicroMason Debug source: q(Hello <% $noun %>!)
  MicroMason Debug lex: text, q(Hello ), expr, q( $noun ), text, q(!)
  MicroMason Debug eval: sub { my @OUT; my $_out = sub { push ...

DESCRIPTION

This package provides numerous messages via warn for developer use when debugging templates built with Text::MicroMason.

Supported Attributes

debug
Activates debugging messages for many methods. Defaults to logging everything.

Can be set to 0 or 1 to log nothing or everything.

Alternately, set this to a hash reference containing values for the steps you are interested in to only log this items:

  debug => { source => 1, eval => 1 }

You can also selectively suppress some warnings:

  debug => { default => 1, source => 0, eval => 0 }

Private Methods

debug_msg
Called to provide a debugging message for developer reference. No output is produced unless the object's 'debug' flag is true.