Perl 解譯器的修訂版本、版本和次版本,表示為 版本 物件。
此變數最早出現在 perl v5.6.0 中;較早版本的 perl 會看到未定義的值。在 perl v5.10.0 之前,$^V
表示為 v 字串,而非 版本 物件。
$^V
可用於判斷執行腳本的 Perl 解譯器是否在正確的版本範圍內。例如
warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
雖然版本物件會重載字串化,但要將 $^V
移植到其字串表示形式,請使用 sprintf()
的 "%vd"
轉換,這適用於 v 字串或版本物件
printf "version is v%vd\n", $^V; # Perl's version
請參閱 use VERSION
和 require VERSION
的文件,以取得一種便利的方式,如果正在執行的 Perl 解譯器太舊,則會失敗。
另請參閱 "$]"
以取得 Perl 版本的十進位表示形式。
$^V
相較於 $]
的主要優點是,對於 Perl v5.10.0 或更新版本,它會重載運算子,允許輕鬆與其他版本表示形式(例如十進位、文字 v 字串、「v1.2.3」或物件)進行比較。缺點是,在 v5.10.0 之前,它只是一個文字 v 字串,無法輕鬆列印或比較,而 $]
的行為在所有版本的 Perl 中都不變。
助記符:使用 ^V 表示版本物件。