答案 0 :(得分:2)
答案 1 :(得分:2)
答案 2 :(得分:1)
这是我发现的工作,至少使用perl 5.10.1:
输入:
open(my $f_in, '<:raw:perlio:via(File::BOM):crlf', $file);
输出:
open(my $f_out, '>:raw:perlio:encoding(UTF-16LE):crlf:via(File::BOM)', $file);
它们透明地处理BOM,CRLF转换和UTF-16LE编码/解码。
请注意,根据下面的perlmonks帖子,如果尝试使用binmode()而不是open()进行指定,则需要额外的“:pop”:
binmode $f_out, ':raw:pop:perlio:encoding(UTF-16LE):crlf';
我的经验证实了这一点。然而,我无法使用“:via(File :: BOM)”层来处理它。
参考文献: