# 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};