「Perl 5.20」リリース、サブルーチンシグネチャを実験的に導入

 Perl開発チームは5月26日、Perl 5系の最新最新版となる「Perl 5.20.0」をリリースした。サブルーチンシグネチャの実験的導入、Unicode 6.3対応などの機能が加わっている。

 Perl 5.20.0は2013年5月にリリースされた5.18に続く安定版リリース。変更点としてはサブルーチンシグネチャの実験的導入やsubキーワードのprototype属性サポート、rand関数の仕様変更、新たなスライス表記、接尾辞を使ったデリファレンス表記、Unicodeサポートの強化、一部のコマンドラインオプションの挙動変更などがある。

 Perlのサブルーチンでは引数を受け取る変数を定義できないが、今回新たに実験的に導入されたサブルーチンシグネチャを利用することで、他の言語と同様に引数を受け取る変数を指定したり、そのデフォルト値を指定できるようになる。これは実験的機能と言うことでデフォルトでは無効になっており、利用する場合は「use v5.20」もしくは「use feature ‘signature’」プラグマでこの機能を有効にする必要がある。

 そのほかの文法的な変更点としては、キーと値のペアを戻す「%hash{…}」と「%array[…]」というスライス表記が加わっている。また、いままで「${ $sref } 」のように表記していたものが「$sref->$*」のように表記できるようになった。これは「Postfix Dereferencing」と呼ばれている。こちらも実験的機能となり、利用には「use v5.20」もしくは「use feature ‘postderef’」プラグマの指定が必要。

 64ビットプラットフォーム対応も改善され、Perl配列が2**31以上の要素を保持できるようになった。正規表現エンジンも2**31以上の文字列を対応できるようになっている。プロトタイプパーシングの一貫性も強化した。また、コアモジュールとしてIO::Socket::IPが追加された。IO::Socket::INETの代わりに利用することでIPv6対応が実現する。

 そのほか、多くのバグ修正や細かな機能改善なども行われている。

The Perl Foundation
http://www.perl.org/

Perl 5.20.0のperldelta
http://search.cpan.org/dist/perl-5.20.0/pod/perldelta.pod