---
name: "Template::Plugin::YAML"
section: "3pm"
platform: "linux"
package: "libtemplate-plugin-yaml-perl"
version: "1.23-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Template::Plugin::YAML"
---

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

Plugin interface to YAML

## NAME

Template::Plugin::YAML - Plugin interface to YAML

## SYNOPSIS

```
    [% USE YAML %]
    [% YAML.dump(variable) %]
    [% YAML.dump_html(variable) %]
    [% value = YAML.undump(yaml_string) %]
    [% YAML.dumpfile(filename, variable) %]
    [% value = YAML.undumpfile(filename) %]
```

## DESCRIPTION

This is a simple Template Toolkit Plugin Interface to the YAML module. A YAML object will be instantiated via the following directive:

```
    [% USE YAML %]
```

As a standard plugin, you can also specify its name in lower case:

```
    [% USE yaml %]
```

## METHODS

These are the methods supported by the YAML object.

### dump( @variables )

Generates a raw text dump of the data structure(s) passed

```
    [% USE Dumper %]
    [% yaml.dump(myvar) %]
    [% yaml.dump(myvar, yourvar) %]
```

### dump\_html( @variables )

Generates a dump of the data structures, as per `"dump"`, but with the characters \<, \> and & converted to their equivalent HTML entities, spaces converted to &nbsp; and newlines converted to \<br\>.

```
    [% USE yaml %]
    [% yaml.dump_html(myvar) %]
```

### undump( $string )

Converts a YAML-encoded string into the equivalent data structure. Here's a way to deep-copy a complex structure by completely serializing the data.

```
  [% USE yaml;
     yaml_string = yaml.dump(complex_data_structure);
     complex_copy = yaml.undump(yaml_string);
  %]
```

### dumpfile( $file, @variables )

Converts the data to YAML encoding, and dumps it to the specified filepath.

```
  [% USE yaml; yaml.dumpfile(".storage", my_data) %]
```

### undumpfile( $file )

Loads the YAML-encoded data from the specified filepath

```
  [% USE yaml; my_data = yaml.undumpfile(".storage") %]
```

## AUTHORS

Richard Clamp \<richardc@unixbeard.net\>, with undump, undumpfile, and dumpfile implementation by Randal L. Schwartz \<merlyn@stonehenge.com\>

based on Simon Matthews' Template::Plugin::Dumper

## COPYRIGHT

Copyright 2003, 2008 Richard Clamp 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::Dumper
