PerlIO 使用的內部變數。一個由 \0
位元組分隔的兩部分字串,第一部分描述輸入層,第二部分描述輸出層。
這是套用 open 實用指令的詞彙效果,以及 -C 命令列開關和 PERL_UNICODE 環境變數的程式主體範圍效果的機制。
accept()
、open()
、pipe()
、readpipe()
(以及相關的 qx
和 `STRING`
運算子)、socket()
、socketpair()
和 sysopen()
函式會受到此變數的詞彙值影響。由 readline()
(或相關的 <>
和 <<>>
運算子)在傳遞檔案名稱時開啟的隱含 "ARGV" 句柄也會受到影響(但如果開啟 STDIN
則不會)。如果未設定此變數,這些函式會設定 PerlIO 中的「預設值和如何覆寫」中所述的預設層。
當以 3 個引數呼叫 open()
並指定明確的層時,此變數(以及預設層)會被忽略。透過模組(例如 IO::Handle)對這些函式的間接呼叫不受影響,因為它們發生在不同的詞法範圍內。目前不受影響的目錄處理程式包括由 opendir()
開啟的目錄處理程式。
此變數新增於 Perl v5.8.0。