Dear all, I have to decode a log file which is written in UTF-16LE on a windows platform.
When using PerlIO together with little endian "UTF-16LE" encoding it works fine: open(FILE, "<:encoding(utf-16le)", $file) while(<FILE>) { print "Decoded Line: $_"; } But when I try to use the Encode::decode() function without PerlIO I have to switch the encoding to big endian UTF-16BE to get correct results: open(FILE, $file); my $obj=find_encoding("UTF-16BE"); while(my $line=<FILE>) { $line = $obj->decode($line); print "Decoded line: $line"; } This is although the $line variable seems to hold the byte characters still in "little endian" order. Do you have an idea why I have to use the "wrong" big endian encoding when using the decode() function? Thanks in advance for your help! Best regards Jens Kammler System management / NMI-DD --------------------------------------------------------- arvato systems GmbH An der Autobahn 18 33311 Gütersloh jens.kamm...@bertelsmann.de<BLOCKED::mailto:ulrich.niggeme...@bertelsmann.de> http://www.arvato-systems.de<BLOCKED::http://www.arvato-systems.de/> Geschäftsführung: Dr. Michael Pesch Amtsgericht Gütersloh - HRB 3981