未知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:这个问题不是重复的。这是关于如何组合层的。您链接的问题是关于我应该使用哪些层。两者都使用相似的表达方式,所以问题是相关的,但实际上不是重复的。