Perlの版を調べる

Perlの版を調べる

動作中の Perl のバージョン

[2] 特殊変数 $] が使えます。結構有名な話。

[3] Perl 5.6 以降では $~V があります。 UTF-8 で返します。

[4] Perl 5.6 以降では、 v1.2 とか 1.2.3 とか生で書くと、 U+0001 U+0002 とか U+0001 U+0002 U+0003 とかになります。 UTF-8 文字列として保持されます。 UTF-8 の外側の値もある程度扱えます。 v4294967295 (U-FFFFFFFF 相当) は 0xFE83BFBFBFBFBF になります。これが最大値のようです。 (この値は環境によって変わるそうです。最低でも32ビット整数で 0..2^32-1 が保証されるみたいですが、64ビット整数が使える 環境では 0..2^64-1 まで使えるそうです。 (でもどうやって 文字列として扱うんでしょうか。 UTF-8 ではどう頑張っても 64ビットは扱えないと思うのですが。))

[6] >>4 64ビット環境では 264 - 1 まで UTF-8 風表現で表せます。

$ perl -MEncode -e 'print join ",", map { sprintf "%02X", or$_ } map { Encode::_utf8_off($_); split //, $_ } v18446744073709551615'
FF,80,8F,BF,BF,BF,BF,BF,BF,BF,BF,BF,BF

[5] sprintf '%vd', $version のようにして句点区切りの数値列に変換出来ます。 この時各数値の最大値は 2147483647 = U-7FFFFFFF です。 これ以上の値だと error になります。

Config という module があります。 use Config。

[1] EBCDIC な世界ではまた上限が変わってくるのではないかな。

最新の Perl のバージョン

[8] Ricardo SIGNES / perl - search.cpan.org () <http://search.cpan.org/dist/perl/> が最新の開発版になっているようです。 「Latest Release」でリンクされるのが最新の安定版です。

[7] 以前は <https://api.metacpan.org/release/perl> から JSON 形式で取得できましたが、今は 404 になるようです。

[12] perlbrew は、 >>10>>11 からスクレイピングしているようです >>9