NAME Inline::YAML - Specify YAML content directly in your Perl SYNOPSIS use Inline::YAML; my @hackers = --- name: Larry Wall title: Fearless Leader hacks: [patch, perl] --- name: Damian Conway title: Thunder from Down Under hacks: - Parse::RecDescent - Quantum::SuperPositions --- name: Ingy döt Net nickname: ingy hacks: - Inline - YAML - Inline::YAML ... foreach (@hackers) { my $quote = $_->{name}; $quote .= ", the $_->{title}," if defined $_->{title}; $quote .= ", aka '$_->{nickname}'," if defined $_->{nickname}; $quote .= ' hacked '; $quote .= join(' and ', @{$_->{hacks}}); $quote .= ".\n"; print $quote; } DESCRIPTION YAML let's you express any Perl data in a very clean and easy to read format. Inline::YAML lets you put YAML streams directly into your Perl programs without any extra syntax. If you need to express a large static data structure in your code, YAML is a great way to do it. It has a minimum of control characters and uses indentation for structure. You'll need less quotes, less commas and less braces. The YAML streams should begin with '---' in column 1, and end with '...' in column 1, both of which are proper YAML constructs for starting and ending a stream. The YAML will return a list equal in length to the number of '---' lines. HOW IT WORKS Inline::YAML is a simple filter (using Filter::Simple) that turns: my $answers = --- who: You what: Chicken Butt where: Under There ... into: my $answers = YAML::Load <<'...'; --- who: You what: Chicken Butt where: Under There ... AUTHOR Ingy döt Net COPYRIGHT Copyright (c) 2002, 2010. Ingy döt Net. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html