So apparently the decoder object created by Encode::Guess remembers that it's UTF-16 but forgets immediately whether it was big-endian or little-endian? That seems broken.
Looking at the code, it "forgets" if it finds a BOM, it remembers otherwise. That's reasonable since it would cause $enc->encode to add the BOM if and only if there was one present in the sample.
You should probably incorporate into your code the couple of lines of E::G you actually do use. Then , you can change this behaviour if you don't like it.
In reply to Re^5: Problem with Encode::Guess
by ikegami
in thread Problem with Encode::Guess
by jimhenry
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |