---
name: "Template::Plugin::Assert"
section: "3pm"
platform: "linux"
package: "perl-template-toolkit"
version: "3.106-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Template::Plugin::Assert"
---

# Template::Plugin::Assert(3pm)

trap undefined values

## NAME

Template::Plugin::Assert - trap undefined values

## SYNOPSIS

```
    [% USE assert %]
    # throws error if any undefined values are returned
    [% object.assert.method %]
    [% hash.assert.key %]
    [% list.assert.item %]
```

## DESCRIPTION

This plugin defines the `"assert"` virtual method that can be used to automatically throw errors when undefined values are used.

For example, consider this dotop:

```
    [% user.name %]
```

If `"user.name"` is an undefined value then TT will silently ignore the fact and print nothing.  If you `"USE"` the `"assert"` plugin then you can add the `"assert"` vmethod between the `"user"` and `"name"` elements, like so:

```
    [% user.assert.name %]
```

Now, if `"user.name"` is an undefined value, an exception will be thrown:

```
    assert error - undefined value for name
```

## AUTHOR

Andy Wardley \<abw@wardley.org\> \<http://wardley.org/\>

## COPYRIGHT

Copyright (C) 2008-2022 Andy Wardley.  All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO

Template::Plugin
