PerlIO 使用的内部变量。一个由 \0
字节分隔的两部分字符串,第一部分描述输入层,第二部分描述输出层。
这是应用 open 实用程序的词法效应,以及 -C 命令行开关和 PERL_UNICODE 环境变量 的 io
或 D
选项的主要程序范围效应的机制。
函数 accept()
、open()
、pipe()
、readpipe()
(以及相关的 qx
和 `STRING`
操作符)、socket()
、socketpair()
和 sysopen()
受此变量的词法值影响。由 readline()
(或相关的 <>
和 <<>>
操作符)在传递的文件名上打开的隐式 "ARGV" 句柄也受影响(但如果打开 STDIN
则不受影响)。如果未设置此变量,则这些函数将按 "PerlIO 中的默认值以及如何覆盖它们" 中所述设置默认层。
当使用 3 个参数调用 open()
并且指定了显式层时,open()
将忽略此变量(和默认层)。通过 IO::Handle 等模块对这些函数进行间接调用不受影响,因为它们发生在不同的词法范围内。当前不受由 opendir()
打开的目录句柄的影响。
此变量在 Perl v5.8.0 中添加。