一個 my
宣告列出的變數為封閉區塊、檔案或 eval
的區域 (詞彙) 變數。如果列出多個變數,清單必須放在括號中。
請注意,對於括號清單,undef
可用作虛擬佔位符,例如跳過初始值的指定
my ( undef, $min, $hour ) = localtime;
在同一個範圍或陳述式中重新宣告一個變數會「遮蔽」前一個宣告,建立一個新的實體並防止存取前一個實體。這通常是不需要的,如果啟用警告,將會在 shadow
類別中產生警告。
TYPE 和 ATTRS 的確切語意和介面仍在演進中。TYPE 可以是一個裸字、使用 use constant
宣告的常數,或 __PACKAGE__
。它目前繫結到 fields pragma 的使用,而屬性則使用 attributes pragma 處理,或從 Perl 5.8.0 開始也透過 Attribute::Handlers 模組處理。請參閱 "perlsub 中的 Private Variables via my()" 以取得詳細資訊。