- $PERL_VERSION
- $^V
-
The revision, version, and subversion of the Perl interpreter, represented as a version object.
version オブジェクトとして表現される Perl インタプリタの revision, version, subversion。
This variable first appeared in perl v5.6.0; earlier versions of perl will see an undefined value. Before perl v5.10.0
$^V
was represented as a v-string rather than a version object.この変数は perl v5.6.0 で最初に現れました; それより前のバージョンでは 未定義値となります。 perl v5.10.0 以前では
$^V
は version オブジェクトではなく v-string 形式で表現されます。$^V
can be used to determine whether the Perl interpreter executing a script is in the right range of versions. For example:$^V
はスクリプトを実行している Perl インタプリタのバージョンが 正しい範囲に入っているかを調べるのに使えます。 例えば:warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
While version objects overload stringification, to portably convert
$^V
into its string representation, usesprintf()
's"%vd"
conversion, which works for both v-strings or version objects:移植性がある形で
$^V
を文字列表現に変換するために、 バージョンオブジェクトは文字列化をオーバーロードしますが、 v-文字列とバージョンオブジェクトの療養で動作するsprintf()
の"%vd"
変換を使ってください。printf "version is v%vd\n", $^V; # Perl's version
printf "version is v%vd\n", $^V; # Perl のバージョン
See the documentation of
use VERSION
andrequire VERSION
for a convenient way to fail if the running Perl interpreter is too old.実行する Perl インタプリタが古すぎる場合に終了する便利な方法については
use VERSION
とrequire VERSION
のドキュメントを参照して下さい。See also
"$]"
for a decimal representation of the Perl version.Perl バージョンの 10 進表現については
"$]"
も参照して下さい。The main advantage of
$^V
over$]
is that, for Perl v5.10.0 or later, it overloads operators, allowing easy comparison against other version representations (e.g. decimal, literal v-string, "v1.2.3", or objects). The disadvantage is that prior to v5.10.0, it was only a literal v-string, which can't be easily printed or compared, whereas the behavior of$]
is unchanged on all versions of Perl.Perl 5.10.0 以降での、
$]
に対する$^V
の主な利点は、これは演算子を オーバーロードするので、他のバージョン表現 (例えば 10 進数、 リテラルな v-文字列、"v1.2.3"、オブジェクト)との比較が簡単であることです。 v5.10.0 より前での欠点は、これは単なるリテラルな v-文字列であるため、 簡単に表示したり比較したり出来ないことです; 一方、$]
の振る舞いは全てのバージョンの Perl で変化しません。Mnemonic: use ^V for a version object.
記憶法: ^V をバージョンオブジェクトに使います。