Blog

Perl5 のバージョンごとの使い分け

Perl5 をつかって新規のシステムを構築する場合に、どのようにバージョンを選択するべきかという話。

5.6以前

現状、CPAN モジュールにおいて5.6系に対するサポートは、toolchain 系をのぞいてほとんどおこなわれていません。
そもそも 5.6 系は誰もメンテしていないので、5.6 をコンパイルするのがまずむずかしいですw

で、レガシーシステムにおいてはまだのこるとおもいますが、新規にえらぶ必要はありませんね。あたりまえながら。

5.8系

5.8系は非常に安定しておりまして、一番安定しているのはたしかです。バグなどが含まれている可能性がいちばん低いかとおもいます。

5.8系を新規のシステムで利用する場合には 5.8.9 をつかうのがよろしいでしょう。

5.10系

5.10.0 にはわりと致命的なメモリリークやSEGVをひきおこすバグがありますので、つかわない方がいいです。

5.10系をつかう場合にはかならず 5.10.1 以後をご利用ください。

5.10系以後を現在新規に採用するメリットは、以下の新機能をつかえること。いずれも Perl5 にはいることが望まれていたが 5.8 系では互換性を重視していたためにはいらなかったものばかり。 // があれば避けられたバグというのもあったりするものである。よって、とくに理由がなければ 5.10.x 以後を使うのがよいとおもう。

  • state 文
  • // 演算子
  • given-when 構文
  • smart match 演算子
  • 正規表現における named capture

しかし、5.12.1 がリリースされた今となっては、5.10.x を新規に採用するメリットはない

5.12系

例によって5.12.0 はさける。

5.12系でついた機能のうち、一般ユーザーにとってメリットがある機能はほとんどない。

が、5.10.x で追加された機能をつかいたいときには 5.12.1 をつかうのがよい

まとめ

  • たとえば 5.*.0 をさける
  • とくに理由がなければ 5.12.1 がオススメ
  • 安定性重視なら 5.8.9 でもかまわない
  • 5.10.0 で追加された機能は、かなりよい