いまいじっているウェブアプリの設定は YAML 形式にしています。デザイナさんに設定ファイルをいじってもらったら「コンテンツがそっくり消えてしまいした〜(泣)」と言われてしまいました。ぱっとみ確認したところ形式が壊れたわけじゃなさそうだし…とよくよくみてみたら先頭に BOM がついてました*1。調べてみたところ,Plagger の謎 と同じ現象じゃないですか。 ということで,File::BOM なるモジュールと PerlIO::via インタフェースがあることを知りました。 (毎度毎度周回遅れな状況でため息がでてしまいます) File::BOM はファイルの BOM からエンコーディングを判別して自動変換してくれるもので,PerlIO::via による ':via' インタフェースを使うとエンコーディングにかかわらず透過的に読み書きできます。といっても BOM があるのは UTF-8/16