> I said the principle of least surprise, because having read Perluniintro > my impression was that I should really have to care in which format the > string was in.
You should not need to care *once* the data has been read into Perl. Before that, in the input phase, Perl needs your help. If you have a stream of bytes Perl cannot start blindly guessing what data it might be. Either you have to use the PerlIO :layers, the -C option or its environment counterpart PERL_UNICODE, or use modules like Encode::Guess. If from a BOM Perl should guess that input is in UTF-16, that would make it impossible to read the same file in as binary. (Perl does recognize BOMs in Perl scripts, since it has to kind of its known format...) > I was proven wrong fairly directly. Certainly, if the > idea is that Perl is going to continue to ignore BOM, this needs a mention > in Perluniintro.