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 表示版本对象。