=pod

=head1 NAME 

YAML::Syck - Fast, lightweight YAML loader and dumper

=head1 VERSION

This document describes version 0.33 of YAML::Syck, released
February 14, 2005.

=head1 SYNOPSIS

    use YAML::Syck;

    $data = Load($yaml);
    $yaml = Dump($data);

=head1 DESCRIPTION

This module provides a Perl interface to the B<libsyck> data serialization
library.  It exports the C<Dump> and C<Load> functions for converting
Perl data structures to YAML strings, and the other way around.

=head1 FLAGS

=head2 $YAML::Syck::Headless

Defaults to false.  Setting this to a true value will make C<Dump> omit the
leading C<---\n> marker.

=head2 $YAML::Syck::SortKeys

Defaults to false.  Setting this to a true value will make C<Dump> sort
hash keys.

=head2 $YAML::Syck::ImplicitTyping

Defaults to false.  Setting this to a true value will make C<Load> recognize
various implicit types in YAML, such as unquoted C<true>, C<false>, as well as
integers and floating-point numbers.  Otherwise, only C<~> is recognized to
be C<undef>.

=head2 $YAML::Syck::ImplicitUnicode

Defaults to false.  For Perl 5.8.0 or later, setting this to a true value will
make C<Load> set Unicode flag on for every string that contains valid UTF8
sequences, and make C<Dump> return a unicode string.

Regardless of this flag, Unicode strings are dumped verbatim without escaping;
byte strings with high-bit set will be dumped with backslash escaping.

However, because YAML does not distinguish between these two kinds of strings,
so this flag will affect loading of both variants of strings.

=head1 CAVEATS

The current implementation bundles libsyck source code; if your system has a
side-wide shared libsyck, it will I<not> be used.

This module is not currently pluggable to the new L<YAML> (0.50+) framework,
but that's expected to change in the future.

Tag names such as C<!perl/Foo> is blessed into the package C<Foo>, but the
C<!hs/Foo> tag is blessed into C<hs::Foo>.  Note that this holds true even if
the tag contains non-word characters; for example, C<!haskell.org/Foo> is
blessed into C<haskell.org::Foo>.  Please use L<Class::Rebless> to cast it into
other user-defined packages.

Loading self-referencial data structures is currently broken.

=head1 SEE ALSO

L<YAML>, L<JSON::Syck>

=head1 AUTHORS

Audrey Tang E<lt>autrijus@autrijus.orgE<gt>

=head1 COPYRIGHT

Copyright by Audrey Tang E<lt>autrijus@autrijus.orgE<gt>.

The F<libsyck> code bundled with this library by I<why the lucky stiff>,
under a BSD-style license.  See the F<COPYING> file for details.

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

See L<http://www.perl.com/perl/misc/Artistic.html>

=cut
