---
name: "Text::MicroMason::Debug"
section: "3pm"
platform: "linux"
package: "libtext-micromason-perl"
version: "2.23-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Text::MicroMason::Debug"
---

# Text::MicroMason::Debug(3pm)

Provide developer info via warn

## 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.
