$PERL_VERSION
$^V

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 VERSIONrequire VERSION 的文档,了解如果正在运行的 Perl 解释器太旧,则失败的便捷方法。

另请参阅 "$]" 以获取 Perl 版本的十进制表示形式。

$^V 相对于 $] 的主要优势在于,对于 Perl v5.10.0 或更高版本,它重载了运算符,允许轻松地与其他版本表示形式(例如十进制、文字 v 字符串、“v1.2.3”或对象)进行比较。缺点是,在 v5.10.0 之前,它只是一个文字 v 字符串,不能轻易打印或比较,而 $] 的行为在所有版本的 Perl 中保持不变。

助记符:使用 ^V 表示版本对象。