tokuhirom
1/4/2010 - 9:25 AM

foo.pl

YAML : 0.71
YAML::XS : 0.32
YAML::Syck : 1.07
YAML::Tiny : 1.41
ok 1 - YAML
ok 2 - YAML::XS
not ok 3 - YAML::Syck
#   Failed test 'YAML::Syck'
#   at hoge.pl line 25.
ok 4 - YAML::Tiny
# Tests were run but no plan was declared and done_testing() was not seen.
use strict;
use warnings;
use autodie;
use Test::More;
use UNIVERSAL::require;

my @modules = qw/YAML YAML::XS YAML::Syck YAML::Tiny/;

{
    no strict 'refs';

    for (@modules) {
        $_->use() or die $@;
        print "$_ : @{[ ${qq!$_\::VERSION!} ]}\n"
    }
}

my $src = 'tmp.yml';

&main;exit;

sub main {
    for my $module (@modules) {
        my $dat = $module->can('LoadFile')->($src);
        ok utf8::is_utf8($dat->{foo}), $module;
    }
}

done_testing;