Re: YAML と YAML::Syck
レスポンスありがとうありがとう。
miyagawa 2008/12/17 08:25 $YAML::Syck::ImplicitUnicode = 1;
- Ashizawa vkgtaro, yaml $YAML::Syck::ImplicitUnicode = 1;の件 2008/12/17
- fbis perl, utf8, YAML http://d.hatena.ne.jp/fbis/20080905/1220591175 2008/12/17
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'; # flagged なので真値に local $YAML::Syck::ImplicitUnicode = 1; my $dump_from_yaml = YAML::Load($yaml_flagged); my $dump_from_yamlsyck = YAML::Syck::Load($yaml_flagged); is_deeply $dump_from_yaml, $dump_from_yamlsyck, 'flagged ok?'; my $yaml_bytes = encode( 'utf8', $yaml_flagged ); ok !Encode::is_utf8($yaml_bytes), 'this is bytes'; # bytes なので偽値に local $YAML::Syck::ImplicitUnicode = 0; $dump_from_yaml = YAML::Load($yaml_bytes); $dump_from_yamlsyck = YAML::Syck::Load($yaml_bytes); is_deeply $dump_from_yaml, $dump_from_yamlsyck, 'bytes ok?';