【问题标题】:Unknown PerlIO layer class ':utf8 :std'未知 PerlIO 层类 ':utf8 :std'
【发布时间】:2020-03-28 18:02:54
【问题描述】:

Doc 声明表达式是等价的:

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

【问题讨论】:

  • 两者都将在 5.18 和 5.26 上失败,尽管略有不同。这个 Perl 几岁了?
  • @Schwern: 5.24.1
  • @brian-d-foy:这个问题不是重复的。这是关于如何组合图层。您链接的那个问题是关于我应该使用哪些层。两者都使用相似的表达方式,因此问题是相关的,但实际上并不重复。

标签: perl utf-8


【解决方案1】:

感谢 IRC 上的@Grinnz:

因为:std is not a layer, it must be its own argument in the list

所以代码应该是:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2021-01-08
    • 2011-03-01
    • 2011-05-21
    • 1970-01-01
    • 2010-11-11
    相关资源
    最近更新 更多