YAML.pm は Load 対象が flagged だと flagged になるけど、 YAML::Syck は Load 対象が flagged でも bytes になる use strict; use warnings; use utf8; use Test::More qw(no_plan); use Encode; use YAML; use YAML::Syck; my $yaml_flagged = <<__YAML__; hoge: foo: ばー fuga: ふが __YAML__ ok Encode::is_utf8($yaml_flagged), 'this is flagged'; my $dump_from_yaml = YAML::Load($yaml_flagged); my $dump_from_yamlsyck = YAML::Syck::Load($ya