Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows PerlIO::encoding的意外行为_Windows_Perl_Encoding_Io_Fallback - Fatal编程技术网

Windows PerlIO::encoding的意外行为

Windows PerlIO::encoding的意外行为,windows,perl,encoding,io,fallback,Windows,Perl,Encoding,Io,Fallback,当我运行这个脚本时,我得到了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.t

当我运行这个脚本时,我得到了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
#

为什么这个脚本会输出这么多行?

很简单。很可能是同一个bug,这使得它几乎有10年的历史了。(这正是它被报道的时候;我猜这个错误可以追溯到
$PerlIO::encoding::fallback
第一次实现的时候。)

在我看来像是一个错误。在perl 5.18.2上确认,类似于
utf8
的其他编码也会发生同样的情况。这看起来很像是一件事。