見えざる敵BOM
2010年11月15日に持ち込まれた謎
- aaa.pl(utf-8)
- use Encode;
- use utf8;
- use open IN => ":utf8";
- binmode STDOUT, ":encoding(cp932)";
- bbb.txt(utf-8)
- はじめまして。
- はじめません。
- はじらいます。
- …みたいな日本語文がぞろぞろ入ってる。
aaa.plでbbb.txtを読み込み、配列@cccに格納。
@cccの中身を見てみよう。
print $ccc[0];
print $ccc[0];
print $ccc[1];
↓
はじめまして。
?はじめまして。
はじめません。
むむむ…?
1行目の頭に何かくっついてる…?
print substr ($ccc[0], 0, 1);
↓
"\x{feff}" does not map to cp932.
\x{feff}
やっぱり何かある!!