in reply to Unicode problem

Firstly, your sequence 0D 00 0A 00 is not a UTF-16LE encoded CR/LF. That would be 00 0D 00 0A.

Secondly, when I try your code with a correctly UTF-16LE encoded master.cfg file, I get exactly the same data output to new.cfg. (I tried it on Linux with perl 5.8.8).

I would suggest checking that your input file IS correctly encoded, for instance, this UTF-16LE file:

test\r\n test2\r\n
contains these hex characters:
0074 0065 0073 0074 000d 000a 0074 0065 0073 0074 0032 000d 000a

Clint