* 動作中の 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ビット環境では 2[SUP[64]] - 1 まで [[UTF-8]] 風表現で表せます。
[PRE(perl code)[
$ 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
]PRE]

[5] sprintf '%vd', $version のようにして句点区切りの数値列に変換出来ます。
この時各数値の最大値は 2147483647 = U-7FFFFFFF です。
これ以上の値だと error になります。

Config という module があります。 use Config。

[1] [[EBCDIC]] な世界ではまた上限が変わってくるのではないかな。

* 最新の Perl のバージョン

[8] [CITE[Ricardo SIGNES / perl - search.cpan.org]] ([TIME[2016-05-10 18:07:10 +09:00]]) <http://search.cpan.org/dist/perl/>
が最新の[[開発版]]になっているようです。
「Latest Release」でリンクされるのが最新の[[安定版]]です。
[TIME[2016-05-10T09:31:02.000Z]]

[7] 以前は <https://api.metacpan.org/release/perl> から [[JSON]] 
形式で取得できましたが、今は [CODE[404]] になるようです。
[TIME[2016-05-10T09:29:29.900Z]]

[12] [[perlbrew]] は、 >>10 や >>11 から[[スクレイピング]]しているようです [SRC[>>9]]。

[REFS[
- [9] [CITE@en[App-perlbrew/perlbrew.pm at master · gugod/App-perlbrew]] ([TIME[2016-05-10 18:37:35 +09:00]]) <https://github.com/gugod/App-perlbrew/blob/master/lib/App/perlbrew.pm#L688>
- [10] [CITE[Index of /src/5.0]] ([TIME[2016-05-10 18:38:13 +09:00]]) <http://www.cpan.org/src/5.0/>
- [11] [CITE@en[Perl Source - www.cpan.org]] ([TIME[2016-05-10 16:18:02 +09:00]]) <http://www.cpan.org/src/README.html>
]REFS]