%^H
散列提供與 $^H
相同的範圍語意。這使得它對於實作詞彙範圍的實用範例很有用。請參閱 perlpragma。在執行階段存取時,所有項目都會被字串化,因此只能容納簡單的值。這表示沒有物件參考,例如。
每次陳述式完成編譯時,%^H
的目前值會儲存在該陳述式中,稍後可透過 (caller($level))[10]
擷取。請參閱 "caller EXPR" in perlfunc。
在將項目放入 %^H
時,為了避免與散列的其他使用者衝突,有一個關於要使用哪個金鑰的慣例。模組應該只使用以模組名稱(其主套件的名稱)和「/」字元開頭的金鑰。例如,模組 Foo::Bar
應該使用 Foo::Bar/baz
等金鑰。
這個變數是在 Perl v5.6.0 中新增的。