While reading a UTF-16 encoded file (with "FIL" as the file handle), I get the error in the middle of reading the file:
UTF-16:Unrecognised BOM 2550 at H:\script\exceptions.pl line 64, <FIL>
+ line 127
7.
I did run a google search for "BOM 2550", and anticipate the FBI will be here soon. ;) I hope they know Perl.
I'm using simply
open FIL, $_ or die "could not open $_: $!\n";
binmode FIL, ":encoding(UTF-16)";
to open the file.
I do see the following in the documentation for binmode, but I don't quite grasp whether it bears directly on the issue I have.
Another consequence of using binmode() (on some systems) is that speci
+al end-of-file markers will be seen as part of the data stream. For s
+ystems from the Microsoft family this means that if your binary data
+contains \cZ, the I/O subsystem will regard it as the end of the file
+, unless you use binmode().
binmode() is not only important for readline() and print() operations,
+ but also when using read(), seek(), sysread(), syswrite() and tell()
+ (see the perlport manpage for more details). See the $/ and $\ varia
+bles in the perlvar manpage for how to manually set your input and ou
+tput line-termination sequences.
Anyone know what it means, or how I can fix it?
update: On Windows XP