【发布时间】:2014-02-23 07:05:46
【问题描述】:
当我运行这个脚本时,我得到了 8 行而不是 2 行的输出。
#!perl
use strict;
use warnings;
use 5.10.1;
use PerlIO::encoding;
use Encode qw(:fallbacks);
$PerlIO::encoding::fallback = Encode::FB_HTMLCREF;
binmode STDOUT, ":encoding(cp850)";
say "TEST";
say "Hell\x{263a}\x{263b}llo.txt";
输出:
# TEST
# TEST
# Hell☺☻llo.txt
# TEST
# Hell☺☻llo.txt
# TEST
# Hell☺☻llo.txt
#
为什么这个脚本会输出这么多行?
【问题讨论】:
-
在我看来是个错误。
-
在 perl 5.18.2 上得到确认,同样的情况也发生在其他编码,如
utf8上。看起来很像FB_HTMLCREF的东西。
标签: windows perl encoding io fallback