Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.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
未知PerlIO图层类别';:utf8:std';_Perl_Utf 8 - Fatal编程技术网

未知PerlIO图层类别';:utf8:std';

未知PerlIO图层类别';:utf8:std';,perl,utf-8,Perl,Utf 8,声明表达式是等效的: use open ':locale'; use open IO => ':locale'; 但为什么下一个不是呢 use open ':utf8 :std'; # Unknown PerlIO layer class ':utf8 :std' (need IN, OUT or IO) at ... use open IO => ':utf8 :std'; # No error happened 在IRC上感谢@Grinnz: 因为:std不是层,

声明表达式是等效的:

use open ':locale';
use open IO => ':locale';
但为什么下一个不是呢

use open ':utf8 :std';       # Unknown PerlIO layer class ':utf8 :std' (need IN, OUT or IO) at ...
use open IO => ':utf8 :std'; # No error happened
在IRC上感谢@Grinnz:

因为
:std不是层,所以它必须是列表中自己的参数

所以代码应该是:

use open ':utf8', ':std';

这两个版本在5.18和5.26都会失败,尽管略有不同。这个Perl有多大历史了?@Schwern:5.24。1@brian-d-foy:这个问题不是重复的。这是关于如何组合层的。您链接的问题是关于我应该使用哪些层。两者都使用相似的表达方式,所以问题是相关的,但实际上不是重复的。