Perl 程式設計/關鍵字/package
外觀
Thepackage關鍵字宣告BLOCK或給定名稱空間內的編譯單元的其餘部分。包範圍由提供的BLOCK或從宣告到當前範圍的結束,這可能是封閉的塊、eval 或檔案。換句話說,如果沒有BLOCK,範圍就像使用 my、our 和 state 運算子一樣。只有被覆蓋或特殊的識別符號(如ARGV, ENV,以及STDOUT資格進入main:被豁免。
只有動態變數受package關鍵字的影響。用 my、our 和 state 建立的詞法範圍變數被豁免。允許在多個地方切換到一個包,因為這僅確定編譯器為該塊的其餘部分使用的預設符號表。帶有其包名稱字首的識別符號可以訪問另一個包,例如$SomePack::var或ThatPack::INPUT_HANDLE。如果沒有包名稱,則假設主包$::sail被理解為$main::sail.
用VERSION,包將給定名稱空間中的$VERSION變數設定為具有提供的版本物件的版本。VERSION. VERSION必須是嚴格風格的版本號,至少有三個元件,如 version 模組定義的那樣,$VERSION應在一個包中只設置一次。
package NAMESPACE
package NAMESPACE VERSION
package NAMESPACE BLOCK
package NAMESPACE VERSION BLOCK