---
name: "Text::MicroMason::CompileCache"
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::CompileCache"
---

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

Use a Cache for Template Compilation

## NAME

Text::MicroMason::CompileCache - Use a Cache for Template Compilation

## SYNOPSIS

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

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

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

```
    print $mason->execute( text=>$template, 'name'=>'Dave' );
```

The template does not have to be parsed the second time because it's cached:

```
    print $mason->execute( text=>$template, 'name'=>'Bob' );
```

Templates stored in files are also cached, until the file changes:

```
    print $mason->execute( file=>"./greeting.msn", 'name'=>'Charles');
```

## DESCRIPTION

### Public Methods

- **compile()**

  Caching wrapper around normal **compile()** behavior.

### Supported Attributes

- compile\_cache\_text

  Defaults to an instance of Text::MicroMason::Cache::Simple. You may pass in your own cache object.

- compile\_cache\_file

  Defaults to an instance of Text::MicroMason::Cache::File. You may pass in your own cache object.

This module uses a simple cache interface that is widely supported: the only methods required are `"get($key)"` and `"set($key, $value)"`. You can use the simple cache classes provided in the Text::MicroMason::Cache:: namespace, or select other caching modules on CPAN that support the interface described in Cache::Cache.

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