[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。 *See also -[[ソフトウェアの版を調べる]] - [1] [[EBCDIC]] な世界ではまた上限が変わってくるのではないかな。