8.0のサポート、文法機能強化Perlの最新バージョン5.24がリリースされました。今回のリリースでは、Perlのサブルーチンと数値計算の高速がなされています。8.0のサポートがなされました。文法的な強化として、前方デリファレンスの実験的なステータスがはずされています。その他、細かなバグフィックスがなされました。5.24では、Perlの内部コードの改善がなされています。パフォーマンスの改善という大きなメリットがありますが、いくつかの副作用もありますので、合わせて、解説します。5.20がおすすめです。5.24にトライしてみてください。5.24の変更点を解説します。5.24の最大の変更点は、パフォーマンスの改善です。サブルーチン呼び出しの高速化スコープ生成と終了のオーバーヘッドをできる限り減らしたので、ループとブロックが速くなりました。以下の空のサブルーチンは、今までの約三倍の速さで実行できます。f();5.24の変更で、最もうれしいのはこれでしょう。Perlの問題点のひとつにサブルーチン呼び出しが遅いというものがありましたが、これによって、問題のひとつが改善されています。中国語のように、大文字小文字の区別がない言語があります。このような言語については、ロジックをスキップすることによって、ucfirst関数や「qr//i」のパフォーマンスが上昇しました。substrの高速化memchrがサポートされているプラットフォームにおいてsubstrが高速化されました。以下の処理が、7倍程度速くなっています。5.8.0において、64bit整数をサポートするために、数値演算が遅くなっていましたが、この遅いロジックが改善さました。Perlは、数値演算が遅いといわれますが、少し改善されました。インクリメント・デクリメントの性能の改善Perlのインクリメント・デクリメントの性能が改善されました。ループ処理などが、少し速くなります。8.0がサポートされました。\b{lb}改行の区切りを表現する新しい正規表現「\b{lb}」が追加されました。5.24では、前方デリファレンスが、最初から、有効になりました。処理が、記述しやすくなっています。今回のリリースでは、いくつかの実験的な機能が、削除されています。廃止警告が出されていた、実験的な自動デリファレンスが削除されました。以下の処理が動かなくなります。eachに、リファレンスを渡すことはできません。レキシカルな$_が廃止されました。5.10で、実験的に追加されましたが、これが廃止されます。ネストされた宣言が許可されなくなったネストされた宣言は許可されなくなりました。以下の記述はコンパイルエラーになります。$x);chdir('')は、ホームディレクトに移動できなくなりましたchdir('')は、ホームディレクトリに移動できなくなりました。chdir()を使ってください。5.24では、内部的な改善のために、保証されない実装を利用している、いくつかのモジュールが、動かなくなっています。これは、現在Perlのコアチームで、議論されているので、経過を見守りましょう。Algorithm::PermuteCoroData::AliasRPerlScope::UpperTryCatchlexical::underscore最近のPerlは、内部改善が多く行われているので、内部APIに依存した、文法変化形のモジュールに依存することは、リスクが伴っています。所見Perlのパフォーマンスが上がることはうれしい変更です。この方向性は、間違ってはいないと思います。このために、内部改善が必要ですが、そのために、いくつかの文法変化形のモジュールが、壊れるという状況になっています。議論の的としては、Coroの話題が大きいようです。将来的には、コルーチンをPerlコアのほうで、サポートするのがよいと感じました。文法変化形のモジュールが、外部のモジュールとして実装されると、常に壊れる可能性がでてくるからです。業務に役立つPerlログ解析など日本語を含むテキスト処理の実践!案内YouTubeでもっと簡単にプログラミングを学ぶならPerlゼミちゃんねるLinuxコマンドを学ぶならLinuxサーバー管理入門Webデザインを学ぶならWebデザイン入門Web開発を始めるななMojoliciousスタートアップブログを作るならGiblogプログラミングの勉強会ならPerl入学式お問合せはこちらPerlは、テキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。Linuxサーバー管理でのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意。Mojoliciousを使ったWebスタートアップも。Perlは、gitやopensslなどUnix/Linuxミドルウェアの支援ツールとして採用されています。このサイトはGiblogで製作されています。