# YAML::Perl example code. use YAML::Perl::Events; use YAML::Perl::Emitter; my $emitter = YAML::Perl::Emitter->new(); $emitter->open(); for (qw( YAML::Perl::Event::StreamStart YAML::Perl::Event::DocumentStart YAML::Perl::Event::MappingStart YAML::Perl::Event::Scalar,foo YAML::Perl::Event::Scalar,42 YAML::Perl::Event::Scalar,bar YAML::Perl::Event::Scalar,44 YAML::Perl::Event::MappingEnd YAML::Perl::Event::DocumentEnd YAML::Perl::Event::StreamEnd )) { my ($class, $value) = split ','; my $event = defined($value) ? $class->new(value => $value) : $class->new(); $emitter->emit($event); } print ${$emitter->writer->stream->buffer};