The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Text::MicroMason::Debug - 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.

SEE ALSO

For an overview of this templating framework, see Text::MicroMason.

This is a mixin class intended for use with Text::MicroMason::Base.

For distribution, installation, support, copyright and license information, see Text::MicroMason::Docs::ReadMe.