Perl/附録
< Perl
ここでは本編で触れることのなかった雑多な話題を集めました。
機能の改廃 編集
Perlコアの機能改廃を中心にハイライトをまとめました。
v5.36 編集
詳細は「perl5360delta(en)」および「perl5360delta(ja)」を参照
- use v5.36 で有効になる機能
-
- signatures
- signatures が有効になりますが、依然「実験的」なままなので
use feature 'signatures';
は不要になりましたが、no warnings "experimental::signatures";
は必要なままです。 - isa
- v5.32.0 で導入されたクラスインスタンス演算子が有効になりました。
- use warnings
- use warnings がディフォルトで有効になりなりました。無効にするには明示的に no warnings とします。プラグマはレキシカルスコープなので、本当に警告を消したいコードブロックに限定して無効化できます。
- use false true is_bool
- 真理値関係の組込み機能が導入されました。真理値定数と、値がブール値の性質を持つかかどうかをチェックする is_bool() が導入されました。
- defer
- 新興言語にありがちな defer が「実験的」ですがPerlに入りました。スコープで抜けたときに実行するコードブロックをキューに登録できます。
- finally block
- try/catchがfinal block を取れるようになりました「実験的」(意味的には errdefer に近いです)。
- use v5.36 で無効になる機能
-
- indirect object notation
$x = new Class()
記法は廃止されました。$x = Class->new()
記法を使ってください。- switch
- v5.10 で導入された given/when は無効化されました。
- @ary = sort ()
- 空配列を sort 関数に渡すことは不正になりました。
- use < v5.11
- use v5.11より前の use v5.xx は警告を出します。v5.11.xの一部から use strict がディフォルトでになったので、use strict を強く推奨する意図があるようです。
v5.34 編集
詳細は「perl5340delta(en)」および「perl5340delta(ja)」を参照
v5.32 編集
詳細は「perl5320delta(en)」および「perl5320delta(ja)」を参照
v5.30 編集
詳細は「perl5300delta(en)」および「perl5300delta(ja)」を参照
v5.28 編集
詳細は「perl5280delta(en)」および「perl5280delta(ja)」を参照
- use v5.28 で有効になる機能
-
- bitwise
use feature "bitwise";
することなく、 文字列固有 (&. |. ^. ~.) および数値固有 (& | ^ ~) の ビット単位演算子が使えるようになりました。