vars - Perl pragma 用於預先宣告全域變數名稱
use vars qw($frob @mung %seen);
注意:對於單一範圍中目前套件中的變數,此 pragma 所提供的功能已被 Perl v5.6.0 或更新版本中提供的 our
宣告取代,因此不建議使用此 pragma。請參閱 "our" in perlfunc。
此實用程式會預先宣告清單中所有變數的名稱,讓您可以在 use strict
下使用它們,並停用任何它們的拼字錯誤警告。
與影響 $^H
提示變數的實用程式不同,use vars
和 use subs
宣告不會依詞彙範圍限制至它們出現的區塊:它們會影響它們出現的整個套件。無法以 no vars
或 no subs
撤銷這些宣告。
例如 AutoLoader 和 SelfLoader 等會延後載入套件內子常式的套件,可能會造成使用 my()
定義的套件詞彙範圍問題。雖然 vars 實用程式無法複製套件詞彙範圍的效果(套件外完全透明),但它可以透過預先宣告全域符號來作為可接受的替代方案,確保後續載入的常式可以使用它們。