perldelta - what is new for perl v5.28.1

perl5281delta - perl v5.28.1 での変更点


This document describes differences between the 5.28.0 release and the 5.28.1 release.

この文書は 5.28.0 リリースと 5.28.1 リリースの変更点を記述しています。

If you are upgrading from an earlier release such as 5.26.0, first read perl5280delta, which describes differences between 5.26.0 and 5.28.0.

5.26.0 のような以前のリリースから更新する場合は、まず 5.26.0 と 5.28.0 の違いについて記述している perl5280delta を読んでください。


[CVE-2018-18311] Integer overflow leading to buffer overflow and segmentation fault

Integer arithmetic in Perl_my_setenv() could wrap when the combined length of the environment variable name and value exceeded around 0x7fffffff. This could lead to writing beyond the end of an allocated buffer with attacker supplied data.

Perl_my_setenv() の整数演算は、環境変数名と値の長さの合計が 0x7fffffff を越えたときに回り込む可能性がありました。 これにより、攻撃者が提供したデータが割り当てられたバッファの末尾を越えた 書き込みを引き起こすことがありました。

[perl #133204]

[CVE-2018-18312] Heap-buffer-overflow write in S_regatom (regcomp.c)

A crafted regular expression could cause heap-buffer-overflow write during compilation, potentially allowing arbitrary code execution.

細工された正規表現により、コンパイル時にヒープバッファオーバーフロー書き込みを 引き起こすことがあり、任意コード実行を引き起こす可能性がありました。

[perl #133423]


There are no changes intentionally incompatible with 5.28.0. If any exist, they are bugs, and we request that you submit a report. See "Reporting Bugs" below.

故意に、5.28.0 から互換性がなくなるようにした変更はありません。 もし 5.28.0 との互換性がなければ、それはバグですので、報告をお願いします。 以下の "Reporting Bugs" を参照してください。



  • Module::CoreList has been upgraded from version 5.20180622 to 5.20181129_28.

    Module::CoreList はバージョン 5.20180622 から 5.20181129_28 に更新されました。


  • Perl 5.28 introduced an index() optimization when comparing to -1 (or indirectly, e.g. >= 0). When this optimization was triggered inside a when clause it caused a warning ("Argument %s isn't numeric in smart match"). This has now been fixed. [perl #133368]

    Perl 5.28 では、index() で -1 と比較する (あるいは間接的に、例えば >= 0) 場合の最適化が導入されました。 この最適化が when 節の内側で引き起こされた場合、警告 ("Argument %s isn't numeric in smart match") が発生していました。 これは修正されました。 [perl #133368]

  • Matching of decimal digits in script runs, introduced in Perl 5.28, had a bug that led to "1\N{THAI DIGIT FIVE}" matching /^(*sr:\d+)$/ when it should not. This has now been fixed.

    Perl 5.28 で導入された用字での数字のマッチングには、 そうするべきではないときに "1\N{THAI DIGIT FIVE}"/^(*sr:\d+)$/ にマッチングするという バグがありました。 これは修正されました。

  • The new in-place editing code no longer leaks directory handles. [perl #133314]

    その場修正コードはもはやディレクトリハンドルをリークしなくなりました。 [perl #133314]


Perl 5.28.1 represents approximately 5 months of development since Perl 5.28.0 and contains approximately 6,100 lines of changes across 44 files from 12 authors.

Perl 5.28.1 は、Perl 5.28.0 以降、12 人の作者によって、 44 のファイルに約 6,100 行の変更を加えて、 約 5 ヶ月開発されてきました。

Excluding auto-generated files, documentation and release tools, there were approximately 700 lines of changes to 12 .pm, .t, .c and .h files.

自動生成ファイル、文書、リリースツールを除くと、12 の .pm, .t, .c, .h ファイルに約 700 行の変更を加えました。

Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.28.1:

Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 30 年を超えて 繁栄しています。 以下の人々が、Perl 5.28.1 になるための改良に貢献したことが分かっています:

Aaron Crane, Abigail, Chris 'BinGOs' Williams, Dagfinn Ilmari Mannsåker, David Mitchell, James E Keenan, John SJ Anderson, Karen Etheridge, Karl Williamson, Sawyer X, Steve Hay, Tony Cook.

The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker.

これはバージョンコントロール履歴から自動的に生成しているので、ほぼ確実に 不完全です。 特に、Perl バグトラッカーに問題を報告をしてくれた (とてもありがたい)貢献者の 名前を含んでいません。

Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.

このバージョンに含まれている変更の多くは、Perl コアに含まれている CPAN モジュール由来のものです。 私たちは Perl の発展を助けている CPAN コミュニティ全体に感謝します。

For a more complete list of all of Perl's historical contributors, please see the AUTHORS file in the Perl source distribution.

全ての Perl の歴史的な貢献者のより完全な一覧については、どうか Perl ソース 配布に含まれている AUTHORS を参照してください。


If you find what you think is a bug, you might check the perl bug database at https://rt.perl.org/ . There may also be information at http://www.perl.org/ , the Perl Home Page.

もしバグと思われるものを見つけたら、 https://rt.perl.org/ にある perl バグ データベースを確認してください。 Perl ホームページ、http://www.perl.org/ にも情報があります。

If you believe you have an unreported bug, please run the perlbug program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of perl -V, will be sent off to perlbug@perl.org to be analysed by the Perl porting team.

もしまだ報告されていないバグだと確信したら、そのリリースに含まれている perlbug プログラムを実行してください。 バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを 意識してください。 バグレポートは perl -V の出力と一緒に perlbug@perl.org に送られ Perl porting チームによって解析されます。

If the bug you are reporting has security implications which make it inappropriate to send to a publicly archived mailing list, then see "SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for details of how to report the issue.

報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、バグの報告方法の詳細について "SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec を参照してください。


If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you can do so by running the perlthanks program:

もし Perl 5 でなされた作業について Perl 5 Porters に感謝したいと考えたなら、 perlthanks プログラムを実行することでそうできます:


This will send an email to the Perl 5 Porters list with your show of thanks.

これは Perl 5 Porters メーリングリストにあなたの感謝の言葉をメールします。


The Changes file for an explanation of how to view exhaustive details on what changed.

変更点の完全な詳細を見る方法については Changes ファイル。

The INSTALL file for how to build Perl.

Perl のビルド方法については INSTALL ファイル。

The README file for general stuff.

一般的なことについては README ファイル。

The Artistic and Copying files for copyright information.

著作権情報については Artistic 及び Copying ファイル。