データファイルをYAMLで扱おうと思い、YAML Perl モジュール (0.35)でちょこちょこと実験。 日本語がことごとく quote される。 ある UTF-8 で書かれたファイルを読み込んで YAMLで Dump したら、日本語の部分がことごとく quote される。 これはいただけない。 my $ESCAPE_CHAR = '[\\x00-\\x08\\x0b-\\x0d\\x0e-\\x1f]'; で判別している。手抜きではないか。 さてどうしたものか。 と考えていたら、よく考えたら Perl 5.8.x だとバイト単位ではなく文字単位で正規表現マッチングさせられるんだったことを思い出した。 手抜きだなんて思って失礼しました。 データファイルを読んで utf8::decode してから YAML で Dump するようにしたらクオートされなくなった。Good. Perl 5.6