aboutsummaryrefslogtreecommitdiffstats
path: root/Data-YAML-0.0.6/blib
diff options
context:
space:
mode:
Diffstat (limited to 'Data-YAML-0.0.6/blib')
-rw-r--r--Data-YAML-0.0.6/blib/arch/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/arch/auto/Data/YAML/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/bin/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/lib/Data/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/lib/Data/YAML.pm145
-rw-r--r--Data-YAML-0.0.6/blib/lib/Data/YAML/Reader.pm422
-rw-r--r--Data-YAML-0.0.6/blib/lib/Data/YAML/Writer.pm269
-rw-r--r--Data-YAML-0.0.6/blib/lib/auto/Data/YAML/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/man1/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/man3/.exists0
-rw-r--r--Data-YAML-0.0.6/blib/man3/Data::YAML.3pm264
-rw-r--r--Data-YAML-0.0.6/blib/man3/Data::YAML::Reader.3pm243
-rw-r--r--Data-YAML-0.0.6/blib/man3/Data::YAML::Writer.3pm261
-rw-r--r--Data-YAML-0.0.6/blib/script/.exists0
14 files changed, 1604 insertions, 0 deletions
diff --git a/Data-YAML-0.0.6/blib/arch/.exists b/Data-YAML-0.0.6/blib/arch/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/arch/.exists
diff --git a/Data-YAML-0.0.6/blib/arch/auto/Data/YAML/.exists b/Data-YAML-0.0.6/blib/arch/auto/Data/YAML/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/arch/auto/Data/YAML/.exists
diff --git a/Data-YAML-0.0.6/blib/bin/.exists b/Data-YAML-0.0.6/blib/bin/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/bin/.exists
diff --git a/Data-YAML-0.0.6/blib/lib/Data/.exists b/Data-YAML-0.0.6/blib/lib/Data/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/lib/Data/.exists
diff --git a/Data-YAML-0.0.6/blib/lib/Data/YAML.pm b/Data-YAML-0.0.6/blib/lib/Data/YAML.pm
new file mode 100644
index 0000000..dd6716b
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/lib/Data/YAML.pm
@@ -0,0 +1,145 @@
+package Data::YAML;
+
+use strict;
+use warnings;
+
+use vars qw{$VERSION};
+
+$VERSION = '0.0.6';
+
+1;
+
+__END__
+
+=head1 NAME
+
+Data::YAML - Easy YAML serialisation of Perl data structures
+
+=head1 VERSION
+
+This document describes Data::YAML version 0.0.6
+
+=head1 DESCRIPTION
+
+In the spirit of L<YAML::Tiny>, L<Data::YAML::Reader> and
+L<Data::YAML::Writer> provide lightweight, dependency-free YAML
+handling. While C<YAML::Tiny> is designed principally for working with
+configuration files C<Data::YAML> concentrates on the transparent round-
+tripping of YAML serialized Perl data structures.
+
+As an example of why this distinction matters consider that
+C<YAML::Tiny> doesn't handle hashes with keys containing non-printable
+characters. This is fine for configuration files but likely to cause
+problems when handling arbitrary Perl data structures. C<Data::YAML>
+handles exotic hash keys correctly.
+
+The syntax accepted by C<Data::YAML> is a subset of YAML. Specifically
+it is the same subset of YAML that L<Data::YAML::Writer> produces. See
+L<Data::YAML> for more information.
+
+=head2 YAML syntax
+
+Although YAML appears to be a simple language the entire YAML
+specification is huge. C<Data::YAML> implements a small subset of the
+complete syntax trading completeness for compactness and simplicity.
+This restricted syntax is known (to me at least) as 'YAMLish'.
+
+These examples demonstrates the full range of supported syntax.
+
+All YAML documents must begin with '---' and end with a line
+containing '...'.
+
+ --- Simple scalar
+ ...
+
+Unprintable characters are represented using standard escapes in double
+quoted strings.
+
+ --- "\t\x01\x02\n"
+ ...
+
+Array and hashes are represented thusly
+
+ ---
+ - "This"
+ - "is"
+ - "an"
+ - "array"
+ ...
+
+ ---
+ This: is
+ a: hash
+ ...
+
+Structures may nest arbitrarily
+
+ ---
+ -
+ name: 'Hash one'
+ value: 1
+ -
+ name: 'Hash two'
+ value: 2
+ ...
+
+Undef is a tilde
+
+ --- ~
+ ...
+
+=head2 Uses
+
+Use C<Data::YAML> may be used any time you need to freeze and thaw Perl
+data structures into a human readable format. The output from
+C<Data::YAML::Writer> should be readable by any YAML parser.
+
+C<Data::YAML> was originally written to allow machine-readable
+diagnostic information to be passed from test scripts to
+L<TAP::Harness>. That means that if you're writing a testing system that
+needs to output TAP version 13 or later syntax you might find
+C<Data::YAML> useful.
+
+Read more about TAP and YAMLish here: L<http://testanything.org/wiki>
+
+=head1 BUGS AND LIMITATIONS
+
+No bugs have been reported.
+
+Please report any bugs or feature requests to
+C<data-yaml@rt.cpan.org>, or through the web interface at
+L<http://rt.cpan.org>.
+
+=head1 AUTHOR
+
+Andy Armstrong C<< <andy@hexten.net> >>
+
+=head1 LICENCE AND COPYRIGHT
+
+Copyright (c) 2007, Andy Armstrong C<< <andy@hexten.net> >>. All rights reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See L<perlartistic>.
+
+=head1 DISCLAIMER OF WARRANTY
+
+BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
+EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
+ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
+YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+NECESSARY SERVICING, REPAIR, OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
+LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
+THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
diff --git a/Data-YAML-0.0.6/blib/lib/Data/YAML/Reader.pm b/Data-YAML-0.0.6/blib/lib/Data/YAML/Reader.pm
new file mode 100644
index 0000000..dbd5189
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/lib/Data/YAML/Reader.pm
@@ -0,0 +1,422 @@
+package Data::YAML::Reader;
+
+use strict;
+use warnings;
+use Carp;
+
+use vars qw{$VERSION};
+
+$VERSION = '0.0.6';
+
+# TODO:
+# Handle blessed object syntax
+
+# Printable characters for escapes
+my %UNESCAPES = (
+ z => "\x00",
+ a => "\x07",
+ t => "\x09",
+ n => "\x0a",
+ v => "\x0b",
+ f => "\x0c",
+ r => "\x0d",
+ e => "\x1b",
+ '\\' => '\\',
+);
+
+my $QQ_STRING = qr{ " (?:\\. | [^"])* " }x;
+my $HASH_LINE = qr{ ^ ($QQ_STRING|\S+) \s* : (?: \s+ (.+?) \s* )? $ }x;
+my $IS_HASH_KEY = qr{ ^ [\w\'\"] }x;
+my $IS_END_YAML = qr{ ^ [.][.][.] \s* $ }x;
+my $IS_QQ_STRING = qr{ ^ $QQ_STRING $ }x;
+
+# Create an empty Data::YAML::Reader object
+sub new {
+ my $class = shift;
+ bless {}, $class;
+}
+
+sub _make_reader {
+ my $self = shift;
+ my $obj = shift;
+
+ croak "Must have something to read from"
+ unless defined $obj;
+
+ if ( my $ref = ref $obj ) {
+ if ( 'CODE' eq $ref ) {
+ return $obj;
+ }
+ elsif ( 'ARRAY' eq $ref ) {
+ return sub { shift @$obj };
+ }
+ elsif ( 'SCALAR' eq $ref ) {
+ return $self->_make_reader( $$obj );
+ }
+ elsif ( 'GLOB' eq $ref || 'IO::Handle' eq $ref ) {
+ return sub {
+ my $line = <$obj>;
+ chomp $line if defined $line;
+ return $line;
+ };
+ }
+ croak "Don't know how to read $ref";
+ }
+ else {
+ my @lines = split( /\n/, $obj );
+ return sub { shift @lines };
+ }
+}
+
+sub read {
+ my $self = shift;
+ my $obj = shift;
+
+ $self->{reader} = $self->_make_reader( $obj );
+ $self->{capture} = [];
+
+ # Prime the reader
+ $self->_next;
+
+ my $doc = $self->_read;
+
+ # The terminator is mandatory otherwise we'd consume a line from the
+ # iterator that doesn't belong to us. If we want to remove this
+ # restriction we'll have to implement look-ahead in the iterators.
+ # Which might not be a bad idea.
+ my $dots = $self->_peek;
+ croak "Missing '...' at end of YAML"
+ unless $dots =~ $IS_END_YAML;
+
+ delete $self->{reader};
+ delete $self->{next};
+
+ return $doc;
+}
+
+sub get_raw {
+ my $self = shift;
+
+ if ( defined( my $capture = $self->{capture} ) ) {
+ return join( "\n", @$capture ) . "\n";
+ }
+
+ return '';
+}
+
+sub _peek {
+ my $self = shift;
+ return $self->{next} unless wantarray;
+ my $line = $self->{next};
+ $line =~ /^ (\s*) (.*) $ /x;
+ return ( $2, length $1 );
+}
+
+sub _next {
+ my $self = shift;
+ croak "_next called with no reader"
+ unless $self->{reader};
+ my $line = $self->{reader}->();
+ $self->{next} = $line;
+ push @{ $self->{capture} }, $line;
+}
+
+sub _read {
+ my $self = shift;
+
+ my $line = $self->_peek;
+
+ # Do we have a document header?
+ if ( $line =~ /^ --- (?: \s* (.+?) \s* )? $/x ) {
+ $self->_next;
+
+ return $self->_read_scalar( $1 ) if defined $1; # Inline?
+
+ my ( $next, $indent ) = $self->_peek;
+
+ if ( $next =~ /^ - /x ) {
+ return $self->_read_array( $indent );
+ }
+ elsif ( $next =~ $IS_HASH_KEY ) {
+ return $self->_read_hash( $next, $indent );
+ }
+ elsif ( $next =~ $IS_END_YAML ) {
+ croak "Premature end of YAML";
+ }
+ else {
+ croak "Unsupported YAML syntax: '$next'";
+ }
+ }
+ else {
+ croak "YAML document header not found";
+ }
+}
+
+# Parse a double quoted string
+sub _read_qq {
+ my $self = shift;
+ my $str = shift;
+
+ unless ( $str =~ s/^ " (.*?) " $/$1/x ) {
+ die "Internal: not a quoted string";
+ }
+
+ $str =~ s/\\"/"/gx;
+ $str =~ s/ \\ ( [tartan\\favez] | x([0-9a-fA-F]{2}) )
+ / (length($1) > 1) ? pack("H2", $2) : $UNESCAPES{$1} /gex;
+ return $str;
+}
+
+# Parse a scalar string to the actual scalar
+sub _read_scalar {
+ my $self = shift;
+ my $string = shift;
+
+ return undef if $string eq '~';
+
+ if ( $string eq '>' || $string eq '|' ) {
+
+ my ( $line, $indent ) = $self->_peek;
+ die "Multi-line scalar content missing" unless defined $line;
+
+ my @multiline = ( $line );
+
+ while ( 1 ) {
+ $self->_next;
+ my ( $next, $ind ) = $self->_peek;
+ last if $ind < $indent;
+ push @multiline, $next;
+ }
+
+ return join( ( $string eq '>' ? ' ' : "\n" ), @multiline ) . "\n";
+ }
+
+ if ( $string =~ /^ ' (.*) ' $/x ) {
+ ( my $rv = $1 ) =~ s/''/'/g;
+ return $rv;
+ }
+
+ if ( $string =~ $IS_QQ_STRING ) {
+ return $self->_read_qq( $string );
+ }
+
+ if ( $string =~ /^['"]/ ) {
+
+ # A quote with folding... we don't support that
+ die __PACKAGE__ . " does not support multi-line quoted scalars";
+ }
+
+ # Regular unquoted string
+ return $string;
+}
+
+sub _read_nested {
+ my $self = shift;
+
+ my ( $line, $indent ) = $self->_peek;
+
+ if ( $line =~ /^ -/x ) {
+ return $self->_read_array( $indent );
+ }
+ elsif ( $line =~ $IS_HASH_KEY ) {
+ return $self->_read_hash( $line, $indent );
+ }
+ else {
+ croak "Unsupported YAML syntax: '$line'";
+ }
+}
+
+# Parse an array
+sub _read_array {
+ my ( $self, $limit ) = @_;
+
+ my $ar = [];
+
+ while ( 1 ) {
+ my ( $line, $indent ) = $self->_peek;
+ last if $indent < $limit || !defined $line || $line =~ $IS_END_YAML;
+
+ if ( $indent > $limit ) {
+ croak "Array line over-indented";
+ }
+
+ if ( $line =~ /^ (- \s+) \S+ \s* : (?: \s+ | $ ) /x ) {
+ $indent += length $1;
+ $line =~ s/-\s+//;
+ push @$ar, $self->_read_hash( $line, $indent );
+ }
+ elsif ( $line =~ /^ - \s* (.+?) \s* $/x ) {
+ croak "Unexpected start of YAML" if $line =~ /^---/;
+ $self->_next;
+ push @$ar, $self->_read_scalar( $1 );
+ }
+ elsif ( $line =~ /^ - \s* $/x ) {
+ $self->_next;
+ push @$ar, $self->_read_nested;
+ }
+ elsif ( $line =~ $IS_HASH_KEY ) {
+ $self->_next;
+ push @$ar, $self->_read_hash( $line, $indent, );
+ }
+ else {
+ croak "Unsupported YAML syntax: '$line'";
+ }
+ }
+
+ return $ar;
+}
+
+sub _read_hash {
+ my ( $self, $line, $limit ) = @_;
+
+ my $indent;
+ my $hash = {};
+
+ while ( 1 ) {
+ croak "Badly formed hash line: '$line'"
+ unless $line =~ $HASH_LINE;
+
+ my ( $key, $value ) = ( $self->_read_scalar( $1 ), $2 );
+ $self->_next;
+
+ if ( defined $value ) {
+ $hash->{$key} = $self->_read_scalar( $value );
+ }
+ else {
+ $hash->{$key} = $self->_read_nested;
+ }
+
+ ( $line, $indent ) = $self->_peek;
+ last if $indent < $limit || !defined $line || $line =~ $IS_END_YAML;
+ }
+
+ return $hash;
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Data::YAML::Reader - Parse YAML created by Data::YAML::Writer
+
+=head1 VERSION
+
+This document describes Data::YAML::Reader version 0.0.6
+
+=head1 SYNOPSIS
+
+ use Data::YAML::Reader;
+
+ my $yr = Data::YAML::Reader->new;
+
+ # Read from an array...
+ my $from_array = $yr->read( \@some_array );
+
+ # ...an open file handle...
+ my $from_handle = $yr->read( $some_file );
+
+ # ...a string containing YAML...
+ my $from_string = $yr->read( $some_string );
+
+ # ...or a closure
+ my $from_code = $yr->read( sub { return get_next_line() } );
+
+=head1 DESCRIPTION
+
+In the spirit of L<YAML::Tiny> this is a lightweight, dependency-free
+YAML reader. While C<YAML::Tiny> is designed principally for working
+with configuration files C<Data::YAML> concentrates on the transparent
+round-tripping of YAML serialized Perl data structures.
+
+The syntax accepted by C<Data::YAML::Reader> is a subset of YAML.
+Specifically it is the same subset of YAML that L<Data::YAML::Writer>
+produces. See L<Data::YAML> for more information.
+
+=head1 INTERFACE
+
+=over
+
+=item C<< new >>
+
+Creates and returns an empty C<Data::YAML::Reader> object. No options may be passed.
+
+=item C<< read( $source ) >>
+
+Read YAML and return the data structure it represents. The YAML data may be supplied by a
+
+=over
+
+=item * scalar string containing YAML source
+
+=item * the handle of an open file
+
+=item * a reference to an array of lines
+
+=item * a code reference
+
+=back
+
+In the case of a code reference a subroutine (most likely a closure)
+that returns successive lines of YAML must be supplied. Lines should
+have no trailing newline. When the YAML is exhausted the subroutine must
+return undef.
+
+Returns the data structure (specifically either a scalar, hash ref or
+array ref) that results from decoding the YAML.
+
+=item C<< get_raw >>
+
+Return the raw YAML source from the most recent C<read>.
+
+=back
+
+=head1 BUGS AND LIMITATIONS
+
+No bugs have been reported.
+
+Please report any bugs or feature requests to
+C<data-yaml@rt.cpan.org>, or through the web interface at
+L<http://rt.cpan.org>.
+
+=head1 SEE ALSO
+
+L<YAML::Tiny>, L<YAML>, L<YAML::Syck>, L<Config::Tiny>, L<CSS::Tiny>
+
+=head1 AUTHOR
+
+Andy Armstrong C<< <andy@hexten.net> >>
+
+Adam Kennedy wrote L<YAML::Tiny> which provided the template and many of
+the YAML matching regular expressions for this module.
+
+=head1 LICENCE AND COPYRIGHT
+
+Copyright (c) 2007, Andy Armstrong C<< <andy@hexten.net> >>. All rights reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See L<perlartistic>.
+
+=head1 DISCLAIMER OF WARRANTY
+
+BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
+EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
+ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
+YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+NECESSARY SERVICING, REPAIR, OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
+LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
+THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
diff --git a/Data-YAML-0.0.6/blib/lib/Data/YAML/Writer.pm b/Data-YAML-0.0.6/blib/lib/Data/YAML/Writer.pm
new file mode 100644
index 0000000..abce670
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/lib/Data/YAML/Writer.pm
@@ -0,0 +1,269 @@
+package Data::YAML::Writer;
+
+use strict;
+use warnings;
+use Carp;
+
+use vars qw{$VERSION};
+
+$VERSION = '0.0.6';
+
+my $ESCAPE_CHAR = qr{ [\x00-\x1f\"] }x;
+
+my @UNPRINTABLE = qw(
+ z x01 x02 x03 x04 x05 x06 a
+ x08 t n v f r x0e x0f
+ x10 x11 x12 x13 x14 x15 x16 x17
+ x18 x19 x1a e x1c x1d x1e x1f
+);
+
+# Create an empty Data::YAML::Writer object
+sub new {
+ my $class = shift;
+ bless {}, $class;
+}
+
+sub write {
+ my $self = shift;
+
+ croak "Need something to write"
+ unless @_;
+
+ my $obj = shift;
+ my $out = shift || \*STDOUT;
+
+ croak "Need a reference to something I can write to"
+ unless ref $out;
+
+ $self->{writer} = $self->_make_writer( $out );
+
+ $self->_write_obj( '---', $obj );
+ $self->_put( '...' );
+
+ delete $self->{writer};
+}
+
+sub _make_writer {
+ my $self = shift;
+ my $out = shift;
+
+ my $ref = ref $out;
+
+ if ( 'CODE' eq $ref ) {
+ return $out;
+ }
+ elsif ( 'ARRAY' eq $ref ) {
+ return sub { push @$out, shift };
+ }
+ elsif ( 'SCALAR' eq $ref ) {
+ return sub { $$out .= shift() . "\n" };
+ }
+ elsif ( 'GLOB' eq $ref || 'IO::Handle' eq $ref ) {
+ return sub { print $out shift(), "\n" };
+ }
+
+ croak "Can't write to $out";
+}
+
+sub _put {
+ my $self = shift;
+ $self->{writer}->( join '', @_ );
+}
+
+sub _enc_scalar {
+ my $self = shift;
+ my $val = shift;
+
+ return '~' unless defined $val;
+
+ if ( $val =~ /$ESCAPE_CHAR/ ) {
+ $val =~ s/\\/\\\\/g;
+ $val =~ s/"/\\"/g;
+ $val =~ s/ ( [\x00-\x1f] ) / '\\' . $UNPRINTABLE[ ord($1) ] /gex;
+ return qq{"$val"};
+ }
+
+ if ( length( $val ) == 0 or $val =~ /\s/ ) {
+ $val =~ s/'/''/;
+ return "'$val'";
+ }
+
+ return $val;
+}
+
+sub _write_obj {
+ my $self = shift;
+ my $prefix = shift;
+ my $obj = shift;
+ my $indent = shift || 0;
+
+ if ( my $ref = ref $obj ) {
+ my $pad = ' ' x $indent;
+ $self->_put( $prefix );
+ if ( 'HASH' eq $ref ) {
+ for my $key ( sort keys %$obj ) {
+ my $value = $obj->{$key};
+ $self->_write_obj( $pad . $self->_enc_scalar( $key ) . ':',
+ $value, $indent + 1 );
+ }
+ }
+ elsif ( 'ARRAY' eq $ref ) {
+ for my $value ( @$obj ) {
+ $self->_write_obj( $pad . '-', $value, $indent + 1 );
+ }
+ }
+ else {
+ croak "Don't know how to encode $ref";
+ }
+ }
+ else {
+ $self->_put( $prefix, ' ', $self->_enc_scalar( $obj ) );
+ }
+}
+
+1;
+
+__END__
+
+
+=head1 NAME
+
+Data::YAML::Writer - Easy YAML serialisation
+
+=head1 VERSION
+
+This document describes Data::YAML::Writer version 0.0.6
+
+=head1 SYNOPSIS
+
+ use Data::YAML::Writer;
+
+ my $data = {
+ one => 1,
+ two => 2,
+ three => [ 1, 2, 3 ],
+ };
+
+ my $yw = Data::YAML::Writer->new;
+
+ # Write to an array...
+ $yw->write( $data, \@some_array );
+
+ # ...an open file handle...
+ $yw->write( $data, $some_file_handle );
+
+ # ...a string ...
+ $yw->write( $data, \$some_string );
+
+ # ...or a closure
+ $yw->write( $data, sub {
+ my $line = shift;
+ print "$line\n";
+ } );
+
+
+=head1 DESCRIPTION
+
+Encodes a scalar, hash reference or array reference as YAML.
+
+In the spirit of L<YAML::Tiny> this is a lightweight, dependency-free
+YAML writer. While C<YAML::Tiny> is designed principally for working
+with configuration files C<Data::YAML> concentrates on the transparent
+round-tripping of YAML serialized Perl data structures.
+
+The syntax produced by C<Data::YAML::Writer> is a subset of YAML.
+Specifically it is the same subset of YAML that L<Data::YAML::Reader>
+consumes. See L<Data::YAML> for more information.
+
+=head1 INTERFACE
+
+=over
+
+=item C<< new >>
+
+The constructor C<new> creates and returns an empty C<Data::YAML::Writer> object.
+
+=item C<< write( $obj, $output ) >>
+
+Encode a scalar, hash reference or array reference as YAML.
+
+ my $writer = sub {
+ my $line = shift;
+ print SOMEFILE "$line\n";
+ };
+
+ my $data = {
+ one => 1,
+ two => 2,
+ three => [ 1, 2, 3 ],
+ };
+
+ my $yw = Data::YAML::Writer->new;
+ $yw->write( $data, $writer );
+
+
+The C< $output > argument may be
+
+=over
+
+=item * a reference to a scalar to append YAML to
+
+=item * the handle of an open file
+
+=item * a reference to an array into which YAML will be pushed
+
+=item * a code reference
+
+=back
+
+If you supply a code reference the subroutine will be called once for
+each line of output with the line as its only argument. Passed lines
+will have no trailing newline.
+
+=back
+
+=head1 BUGS AND LIMITATIONS
+
+No bugs have been reported.
+
+Please report any bugs or feature requests to
+C<data-yaml@rt.cpan.org>, or through the web interface at
+L<http://rt.cpan.org>.
+
+=head1 SEE ALSO
+
+L<YAML::Tiny>, L<YAML>, L<YAML::Syck>, L<Config::Tiny>, L<CSS::Tiny>
+
+=head1 AUTHOR
+
+Andy Armstrong C<< <andy@hexten.net> >>
+
+=head1 LICENCE AND COPYRIGHT
+
+Copyright (c) 2007, Andy Armstrong C<< <andy@hexten.net> >>. All rights reserved.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See L<perlartistic>.
+
+=head1 DISCLAIMER OF WARRANTY
+
+BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
+EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
+ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
+YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
+NECESSARY SERVICING, REPAIR, OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE
+LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
+THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
diff --git a/Data-YAML-0.0.6/blib/lib/auto/Data/YAML/.exists b/Data-YAML-0.0.6/blib/lib/auto/Data/YAML/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/lib/auto/Data/YAML/.exists
diff --git a/Data-YAML-0.0.6/blib/man1/.exists b/Data-YAML-0.0.6/blib/man1/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/man1/.exists
diff --git a/Data-YAML-0.0.6/blib/man3/.exists b/Data-YAML-0.0.6/blib/man3/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/man3/.exists
diff --git a/Data-YAML-0.0.6/blib/man3/Data::YAML.3pm b/Data-YAML-0.0.6/blib/man3/Data::YAML.3pm
new file mode 100644
index 0000000..b0f422d
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/man3/Data::YAML.3pm
@@ -0,0 +1,264 @@
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "Data::YAML 3"
+.TH Data::YAML 3 "2009-03-08" "perl v5.10.1" "User Contributed Perl Documentation"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+Data::YAML \- Easy YAML serialisation of Perl data structures
+.SH "VERSION"
+.IX Header "VERSION"
+This document describes Data::YAML version 0.0.6
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+In the spirit of YAML::Tiny, Data::YAML::Reader and
+Data::YAML::Writer provide lightweight, dependency-free \s-1YAML\s0
+handling. While \f(CW\*(C`YAML::Tiny\*(C'\fR is designed principally for working with
+configuration files \f(CW\*(C`Data::YAML\*(C'\fR concentrates on the transparent round\-
+tripping of \s-1YAML\s0 serialized Perl data structures.
+.PP
+As an example of why this distinction matters consider that
+\&\f(CW\*(C`YAML::Tiny\*(C'\fR doesn't handle hashes with keys containing non-printable
+characters. This is fine for configuration files but likely to cause
+problems when handling arbitrary Perl data structures. \f(CW\*(C`Data::YAML\*(C'\fR
+handles exotic hash keys correctly.
+.PP
+The syntax accepted by \f(CW\*(C`Data::YAML\*(C'\fR is a subset of \s-1YAML\s0. Specifically
+it is the same subset of \s-1YAML\s0 that Data::YAML::Writer produces. See
+Data::YAML for more information.
+.SS "\s-1YAML\s0 syntax"
+.IX Subsection "YAML syntax"
+Although \s-1YAML\s0 appears to be a simple language the entire \s-1YAML\s0
+specification is huge. \f(CW\*(C`Data::YAML\*(C'\fR implements a small subset of the
+complete syntax trading completeness for compactness and simplicity.
+This restricted syntax is known (to me at least) as 'YAMLish'.
+.PP
+These examples demonstrates the full range of supported syntax.
+.PP
+All \s-1YAML\s0 documents must begin with '\-\-\-' and end with a line
+containing '...'.
+.PP
+.Vb 2
+\& \-\-\- Simple scalar
+\& ...
+.Ve
+.PP
+Unprintable characters are represented using standard escapes in double
+quoted strings.
+.PP
+.Vb 2
+\& \-\-\- "\et\ex01\ex02\en"
+\& ...
+.Ve
+.PP
+Array and hashes are represented thusly
+.PP
+.Vb 6
+\& \-\-\-
+\& \- "This"
+\& \- "is"
+\& \- "an"
+\& \- "array"
+\& ...
+\&
+\& \-\-\-
+\& This: is
+\& a: hash
+\& ...
+.Ve
+.PP
+Structures may nest arbitrarily
+.PP
+.Vb 8
+\& \-\-\-
+\& \-
+\& name: \*(AqHash one\*(Aq
+\& value: 1
+\& \-
+\& name: \*(AqHash two\*(Aq
+\& value: 2
+\& ...
+.Ve
+.PP
+Undef is a tilde
+.PP
+.Vb 2
+\& \-\-\- ~
+\& ...
+.Ve
+.SS "Uses"
+.IX Subsection "Uses"
+Use \f(CW\*(C`Data::YAML\*(C'\fR may be used any time you need to freeze and thaw Perl
+data structures into a human readable format. The output from
+\&\f(CW\*(C`Data::YAML::Writer\*(C'\fR should be readable by any \s-1YAML\s0 parser.
+.PP
+\&\f(CW\*(C`Data::YAML\*(C'\fR was originally written to allow machine-readable
+diagnostic information to be passed from test scripts to
+TAP::Harness. That means that if you're writing a testing system that
+needs to output \s-1TAP\s0 version 13 or later syntax you might find
+\&\f(CW\*(C`Data::YAML\*(C'\fR useful.
+.PP
+Read more about \s-1TAP\s0 and YAMLish here: <http://testanything.org/wiki>
+.SH "BUGS AND LIMITATIONS"
+.IX Header "BUGS AND LIMITATIONS"
+No bugs have been reported.
+.PP
+Please report any bugs or feature requests to
+\&\f(CW\*(C`data\-yaml@rt.cpan.org\*(C'\fR, or through the web interface at
+<http://rt.cpan.org>.
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Andy Armstrong \f(CW\*(C`<andy@hexten.net>\*(C'\fR
+.SH "LICENCE AND COPYRIGHT"
+.IX Header "LICENCE AND COPYRIGHT"
+Copyright (c) 2007, Andy Armstrong \f(CW\*(C`<andy@hexten.net>\*(C'\fR. All rights reserved.
+.PP
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See perlartistic.
+.SH "DISCLAIMER OF WARRANTY"
+.IX Header "DISCLAIMER OF WARRANTY"
+\&\s-1BECAUSE\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1LICENSED\s0 \s-1FREE\s0 \s-1OF\s0 \s-1CHARGE\s0, \s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0
+\&\s-1FOR\s0 \s-1THE\s0 \s-1SOFTWARE\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0. \s-1EXCEPT\s0 \s-1WHEN\s0
+\&\s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0
+\&\s-1PROVIDE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0
+\&\s-1EXPRESSED\s0 \s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0
+\&\s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. \s-1THE\s0
+\&\s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0 \s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0 \s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1WITH\s0
+\&\s-1YOU\s0. \s-1SHOULD\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1PROVE\s0 \s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0
+\&\s-1NECESSARY\s0 \s-1SERVICING\s0, \s-1REPAIR\s0, \s-1OR\s0 \s-1CORRECTION\s0.
+.PP
+\&\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0
+\&\s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MAY\s0 \s-1MODIFY\s0 \s-1AND/OR\s0
+\&\s-1REDISTRIBUTE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1THE\s0 \s-1ABOVE\s0 \s-1LICENCE\s0, \s-1BE\s0
+\&\s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0, \s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0,
+\&\s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0
+\&\s-1THE\s0 \s-1SOFTWARE\s0 (\s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0
+\&\s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0 \s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0 \s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A
+\&\s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1SOFTWARE\s0), \s-1EVEN\s0 \s-1IF\s0
+\&\s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0
+\&\s-1SUCH\s0 \s-1DAMAGES\s0.
diff --git a/Data-YAML-0.0.6/blib/man3/Data::YAML::Reader.3pm b/Data-YAML-0.0.6/blib/man3/Data::YAML::Reader.3pm
new file mode 100644
index 0000000..f01295e
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/man3/Data::YAML::Reader.3pm
@@ -0,0 +1,243 @@
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "Data::YAML::Reader 3"
+.TH Data::YAML::Reader 3 "2009-03-08" "perl v5.10.1" "User Contributed Perl Documentation"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+Data::YAML::Reader \- Parse YAML created by Data::YAML::Writer
+.SH "VERSION"
+.IX Header "VERSION"
+This document describes Data::YAML::Reader version 0.0.6
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& use Data::YAML::Reader;
+\&
+\& my $yr = Data::YAML::Reader\->new;
+\&
+\& # Read from an array...
+\& my $from_array = $yr\->read( \e@some_array );
+\&
+\& # ...an open file handle...
+\& my $from_handle = $yr\->read( $some_file );
+\&
+\& # ...a string containing YAML...
+\& my $from_string = $yr\->read( $some_string );
+\&
+\& # ...or a closure
+\& my $from_code = $yr\->read( sub { return get_next_line() } );
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+In the spirit of YAML::Tiny this is a lightweight, dependency-free
+\&\s-1YAML\s0 reader. While \f(CW\*(C`YAML::Tiny\*(C'\fR is designed principally for working
+with configuration files \f(CW\*(C`Data::YAML\*(C'\fR concentrates on the transparent
+round-tripping of \s-1YAML\s0 serialized Perl data structures.
+.PP
+The syntax accepted by \f(CW\*(C`Data::YAML::Reader\*(C'\fR is a subset of \s-1YAML\s0.
+Specifically it is the same subset of \s-1YAML\s0 that Data::YAML::Writer
+produces. See Data::YAML for more information.
+.SH "INTERFACE"
+.IX Header "INTERFACE"
+.ie n .IP """new""" 4
+.el .IP "\f(CWnew\fR" 4
+.IX Item "new"
+Creates and returns an empty \f(CW\*(C`Data::YAML::Reader\*(C'\fR object. No options may be passed.
+.ie n .IP """read( $source )""" 4
+.el .IP "\f(CWread( $source )\fR" 4
+.IX Item "read( $source )"
+Read \s-1YAML\s0 and return the data structure it represents. The \s-1YAML\s0 data may be supplied by a
+.RS 4
+.IP "\(bu" 4
+scalar string containing \s-1YAML\s0 source
+.IP "\(bu" 4
+the handle of an open file
+.IP "\(bu" 4
+a reference to an array of lines
+.IP "\(bu" 4
+a code reference
+.RE
+.RS 4
+.Sp
+In the case of a code reference a subroutine (most likely a closure)
+that returns successive lines of \s-1YAML\s0 must be supplied. Lines should
+have no trailing newline. When the \s-1YAML\s0 is exhausted the subroutine must
+return undef.
+.Sp
+Returns the data structure (specifically either a scalar, hash ref or
+array ref) that results from decoding the \s-1YAML\s0.
+.RE
+.ie n .IP """get_raw""" 4
+.el .IP "\f(CWget_raw\fR" 4
+.IX Item "get_raw"
+Return the raw \s-1YAML\s0 source from the most recent \f(CW\*(C`read\*(C'\fR.
+.SH "BUGS AND LIMITATIONS"
+.IX Header "BUGS AND LIMITATIONS"
+No bugs have been reported.
+.PP
+Please report any bugs or feature requests to
+\&\f(CW\*(C`data\-yaml@rt.cpan.org\*(C'\fR, or through the web interface at
+<http://rt.cpan.org>.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+YAML::Tiny, \s-1YAML\s0, YAML::Syck, Config::Tiny, CSS::Tiny
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Andy Armstrong \f(CW\*(C`<andy@hexten.net>\*(C'\fR
+.PP
+Adam Kennedy wrote YAML::Tiny which provided the template and many of
+the \s-1YAML\s0 matching regular expressions for this module.
+.SH "LICENCE AND COPYRIGHT"
+.IX Header "LICENCE AND COPYRIGHT"
+Copyright (c) 2007, Andy Armstrong \f(CW\*(C`<andy@hexten.net>\*(C'\fR. All rights reserved.
+.PP
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See perlartistic.
+.SH "DISCLAIMER OF WARRANTY"
+.IX Header "DISCLAIMER OF WARRANTY"
+\&\s-1BECAUSE\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1LICENSED\s0 \s-1FREE\s0 \s-1OF\s0 \s-1CHARGE\s0, \s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0
+\&\s-1FOR\s0 \s-1THE\s0 \s-1SOFTWARE\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0. \s-1EXCEPT\s0 \s-1WHEN\s0
+\&\s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0
+\&\s-1PROVIDE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0
+\&\s-1EXPRESSED\s0 \s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0
+\&\s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. \s-1THE\s0
+\&\s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0 \s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0 \s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1WITH\s0
+\&\s-1YOU\s0. \s-1SHOULD\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1PROVE\s0 \s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0
+\&\s-1NECESSARY\s0 \s-1SERVICING\s0, \s-1REPAIR\s0, \s-1OR\s0 \s-1CORRECTION\s0.
+.PP
+\&\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0
+\&\s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MAY\s0 \s-1MODIFY\s0 \s-1AND/OR\s0
+\&\s-1REDISTRIBUTE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1THE\s0 \s-1ABOVE\s0 \s-1LICENCE\s0, \s-1BE\s0
+\&\s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0, \s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0,
+\&\s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0
+\&\s-1THE\s0 \s-1SOFTWARE\s0 (\s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0
+\&\s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0 \s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0 \s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A
+\&\s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1SOFTWARE\s0), \s-1EVEN\s0 \s-1IF\s0
+\&\s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0
+\&\s-1SUCH\s0 \s-1DAMAGES\s0.
diff --git a/Data-YAML-0.0.6/blib/man3/Data::YAML::Writer.3pm b/Data-YAML-0.0.6/blib/man3/Data::YAML::Writer.3pm
new file mode 100644
index 0000000..2ec49e5
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/man3/Data::YAML::Writer.3pm
@@ -0,0 +1,261 @@
+.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "Data::YAML::Writer 3"
+.TH Data::YAML::Writer 3 "2009-03-08" "perl v5.10.1" "User Contributed Perl Documentation"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+Data::YAML::Writer \- Easy YAML serialisation
+.SH "VERSION"
+.IX Header "VERSION"
+This document describes Data::YAML::Writer version 0.0.6
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& use Data::YAML::Writer;
+\&
+\& my $data = {
+\& one => 1,
+\& two => 2,
+\& three => [ 1, 2, 3 ],
+\& };
+\&
+\& my $yw = Data::YAML::Writer\->new;
+\&
+\& # Write to an array...
+\& $yw\->write( $data, \e@some_array );
+\&
+\& # ...an open file handle...
+\& $yw\->write( $data, $some_file_handle );
+\&
+\& # ...a string ...
+\& $yw\->write( $data, \e$some_string );
+\&
+\& # ...or a closure
+\& $yw\->write( $data, sub {
+\& my $line = shift;
+\& print "$line\en";
+\& } );
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+Encodes a scalar, hash reference or array reference as \s-1YAML\s0.
+.PP
+In the spirit of YAML::Tiny this is a lightweight, dependency-free
+\&\s-1YAML\s0 writer. While \f(CW\*(C`YAML::Tiny\*(C'\fR is designed principally for working
+with configuration files \f(CW\*(C`Data::YAML\*(C'\fR concentrates on the transparent
+round-tripping of \s-1YAML\s0 serialized Perl data structures.
+.PP
+The syntax produced by \f(CW\*(C`Data::YAML::Writer\*(C'\fR is a subset of \s-1YAML\s0.
+Specifically it is the same subset of \s-1YAML\s0 that Data::YAML::Reader
+consumes. See Data::YAML for more information.
+.SH "INTERFACE"
+.IX Header "INTERFACE"
+.ie n .IP """new""" 4
+.el .IP "\f(CWnew\fR" 4
+.IX Item "new"
+The constructor \f(CW\*(C`new\*(C'\fR creates and returns an empty \f(CW\*(C`Data::YAML::Writer\*(C'\fR object.
+.ie n .IP """write( $obj, $output )""" 4
+.el .IP "\f(CWwrite( $obj, $output )\fR" 4
+.IX Item "write( $obj, $output )"
+Encode a scalar, hash reference or array reference as \s-1YAML\s0.
+.Sp
+.Vb 4
+\& my $writer = sub {
+\& my $line = shift;
+\& print SOMEFILE "$line\en";
+\& };
+\&
+\& my $data = {
+\& one => 1,
+\& two => 2,
+\& three => [ 1, 2, 3 ],
+\& };
+\&
+\& my $yw = Data::YAML::Writer\->new;
+\& $yw\->write( $data, $writer );
+.Ve
+.Sp
+The \f(CW $output \fR argument may be
+.RS 4
+.IP "\(bu" 4
+a reference to a scalar to append \s-1YAML\s0 to
+.IP "\(bu" 4
+the handle of an open file
+.IP "\(bu" 4
+a reference to an array into which \s-1YAML\s0 will be pushed
+.IP "\(bu" 4
+a code reference
+.RE
+.RS 4
+.Sp
+If you supply a code reference the subroutine will be called once for
+each line of output with the line as its only argument. Passed lines
+will have no trailing newline.
+.RE
+.SH "BUGS AND LIMITATIONS"
+.IX Header "BUGS AND LIMITATIONS"
+No bugs have been reported.
+.PP
+Please report any bugs or feature requests to
+\&\f(CW\*(C`data\-yaml@rt.cpan.org\*(C'\fR, or through the web interface at
+<http://rt.cpan.org>.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+YAML::Tiny, \s-1YAML\s0, YAML::Syck, Config::Tiny, CSS::Tiny
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Andy Armstrong \f(CW\*(C`<andy@hexten.net>\*(C'\fR
+.SH "LICENCE AND COPYRIGHT"
+.IX Header "LICENCE AND COPYRIGHT"
+Copyright (c) 2007, Andy Armstrong \f(CW\*(C`<andy@hexten.net>\*(C'\fR. All rights reserved.
+.PP
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself. See perlartistic.
+.SH "DISCLAIMER OF WARRANTY"
+.IX Header "DISCLAIMER OF WARRANTY"
+\&\s-1BECAUSE\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1LICENSED\s0 \s-1FREE\s0 \s-1OF\s0 \s-1CHARGE\s0, \s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0
+\&\s-1FOR\s0 \s-1THE\s0 \s-1SOFTWARE\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0. \s-1EXCEPT\s0 \s-1WHEN\s0
+\&\s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0
+\&\s-1PROVIDE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \*(L"\s-1AS\s0 \s-1IS\s0\*(R" \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0
+\&\s-1EXPRESSED\s0 \s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0
+\&\s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. \s-1THE\s0
+\&\s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0 \s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0 \s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1WITH\s0
+\&\s-1YOU\s0. \s-1SHOULD\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1PROVE\s0 \s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0
+\&\s-1NECESSARY\s0 \s-1SERVICING\s0, \s-1REPAIR\s0, \s-1OR\s0 \s-1CORRECTION\s0.
+.PP
+\&\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0
+\&\s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MAY\s0 \s-1MODIFY\s0 \s-1AND/OR\s0
+\&\s-1REDISTRIBUTE\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1THE\s0 \s-1ABOVE\s0 \s-1LICENCE\s0, \s-1BE\s0
+\&\s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0, \s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0,
+\&\s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0
+\&\s-1THE\s0 \s-1SOFTWARE\s0 (\s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0
+\&\s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0 \s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0 \s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A
+\&\s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1SOFTWARE\s0 \s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1SOFTWARE\s0), \s-1EVEN\s0 \s-1IF\s0
+\&\s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0
+\&\s-1SUCH\s0 \s-1DAMAGES\s0.
diff --git a/Data-YAML-0.0.6/blib/script/.exists b/Data-YAML-0.0.6/blib/script/.exists
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Data-YAML-0.0.6/blib/script/.exists