名前

perldelta - what is new for perl v5.20.1

perl5201delta - perl v5.20.1 での変更点

説明

This document describes differences between the 5.20.0 release and the 5.20.1 release.

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

If you are upgrading from an earlier release such as 5.18.0, first read perl5200delta, which describes differences between 5.18.0 and 5.20.0.

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

互換性のない変更

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

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

性能改善

  • An optimization to avoid problems with COW and deliberately overallocated PVs has been disabled because it interfered with another, more important, optimization, causing a slowdown on some platforms. [perl #121975]

    COW と、意図的に余分に割り当てた PV の問題を避けるための最適化は 無効化されました; これは、より重要な他の最適化を妨げ、一部のプラットフォームで 遅くなっていたからです。 [perl #121975]

  • Returning a string from a lexical variable could be slow in some cases. This has now been fixed. [perl #121977]

    レキシカル変数から文字列を返すのは一部の場合で遅くなっていました。 これは修正されました。 [perl #121977]

モジュールとプラグマ

更新されたモジュールとプラグマ

  • Config::Perl::V has been upgraded from version 0.20 to 0.22.

    Config::Perl::V はバージョン 0.20 から 0.22 に更新されました。

    The list of Perl versions covered has been updated and some flaws in the parsing have been fixed.

    対応する Perl のバージョンの一覧が更新され、パース時の問題が修正されました。

  • Exporter has been upgraded from version 5.70 to 5.71.

    Exporter はバージョン 5.70 から 5.71 に更新されました。

    Illegal POD syntax in the documentation has been corrected.

    文書の不正な POD 文法が修正されました。

  • ExtUtils::CBuilder has been upgraded from version 0.280216 to 0.280217.

    ExtUtils::CBuilder はバージョン 0.280216 から 0.280217 に更新されました。

    Android builds now link to both -lperl and $Config::Config{perllibs}.

    Android ビルドは -lperl$Config::Config{perllibs} の両方を リンクするようになりました。

  • File::Copy has been upgraded from version 2.29 to 2.30.

    File::Copy はバージョン 2.29 から 2.30 に更新されました。

    The documentation now notes that copy will not overwrite read-only files.

    copy は読み込み専用ファイルを上書きしないことが文書に記述されました。

  • Module::CoreList has been upgraded from version 3.11 to 5.020001.

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

    The list of Perl versions covered has been updated.

    対応する Perl バージョンの一覧が更新されました。

  • The PathTools module collection has been upgraded from version 3.47 to 3.48.

    collection はバージョン 3.47 から 3.48 に更新されました。

    Fallbacks are now in place when cross-compiling for Android and $Config::Config{sh} is not yet defined. [perl #121963]

    Android のためにクロスコンパイルして、$Config::Config{sh} がまだ 定義されていなかったとき、適切な場所にフォールバックするようになりました。 [perl #121963]

  • PerlIO::via has been upgraded from version 0.14 to 0.15.

    PerlIO::via はバージョン 0.14 から 0.15 に更新されました。

    A minor portability improvement has been made to the XS implementation.

    XS 実装に小さな移植性の向上が行われました。

  • Unicode::UCD has been upgraded from version 0.57 to 0.58.

    Unicode::UCD はバージョン 0.57 から 0.58 に更新されました。

    The documentation includes many clarifications and fixes.

    文書は多くの明確化と修正が行われました。

  • utf8 has been upgraded from version 1.13 to 1.13_01.

    utf8 はバージョン 1.13 から 1.13_01 に更新されました。

    The documentation has some minor formatting improvements.

    文書は小さなフォーマットの向上が行われました。

  • version has been upgraded from version 0.9908 to 0.9909.

    version はバージョン 0.9908 から 0.9909 に更新されました。

    External libraries and Perl may have different ideas of what the locale is. This is problematic when parsing version strings if the locale's numeric separator has been changed. Version parsing has been patched to ensure it handles the locales correctly. [perl #121930]

    外部ライブラリと Perl は、ロケールとは何かについて異なった考えを持っています。 これは、ロケールの数値セパレータが変更されるとバージョン文字列を パースするときに問題になります。 バージョンのパースは、ロケールを正しく扱えるようにパッチが当てられました。 [perl #121930]

文書

既存の文書の変更

perlapi

  • av_len - Emphasize that this returns the highest index in the array, not the size of the array. [perl #120386]

    av_len - これは配列のサイズではなく、配列の最大のインデックスを 返すということが強調されました。 [perl #120386]

  • Note that SvSetSV doesn't do set magic.

    SvSetSV は set magic を行わないことが記述されました。

  • sv_usepvn_flags - Fix documentation to mention the use of NewX instead of malloc. [perl #121869]

    sv_usepvn_flags - malloc ではなく NewX を使うことを言及するように 文書が修正されました。 [perl #121869]

  • Clarify where NUL may be embedded or is required to terminate a string.

    どこで NUL は組み込みかも知れず、文字列を終端するのに必要であるかが 明確化されました。

perlfunc

  • Clarify the meaning of -B and -T.

    -B-T の意味が明確化されました。

  • -l now notes that it will return false if symlinks aren't supported by the file system. [perl #121523]

    -l は、シンボリックリンクがファイルシステムで対応していないと偽を返すことが 記述されました。 [perl #121523]

  • Note that each, keys and values may produce different orderings for tied hashes compared to other perl hashes. [perl #121404]

    each, keys, values は、他の perl ハッシュと比較して、tie された ハッシュで異なった順序を出力することが記述されました。 [perl #121404]

  • Note that exec LIST and system LIST may fall back to the shell on Win32. Only exec PROGRAM LIST and system PROGRAM LIST indirect object syntax will reliably avoid using the shell. This has also been noted in perlport. [perl #122046]

    exec LISTsystem LIST は Win32 ではシェルに フォールバックするかも知れないことが記述されました。 exec PROGRAM LISTsystem PROGRAM LIST の間接オブジェクト構文のみが 確実にシェルの使用を避けられます。 これは perlport にも記述されました。 [perl #122046]

  • Clarify the meaning of our. [perl #122132]

    our の意味が明確化されました。 [perl #122132]

perlguts

  • Explain various ways of modifying an existing SV's buffer. [perl #116925]

    既にある SV バッファを変更する様々な方法が説明されました。 [perl #116925]

perlpolicy

perlre

  • The /x modifier has been clarified to note that comments cannot be continued onto the next line by escaping them.

    /x 修飾子は、エスケープすることでコメントが次の行に引き続かないことが 明確化されました。

perlsyn

  • Mention the use of empty conditionals in for/while loops for infinite loops.

    無限ループのための条件なしの for/while の使用法が言及されました。

perlxs

  • Added a discussion of locale issues in XS code.

    XS コードでのロケール問題の議論が追加されました。

診断メッセージ

The following additions or changes have been made to diagnostic output, including warnings and fatal error messages. For the complete list of diagnostic messages, see perldiag.

以下の追加や変更が、警告や致命的エラーメッセージ含む診断出力に行われました。 完全な診断メッセージの一覧については、perldiag を参照してください。

既存の診断メッセージの変更

設定とコンパイル

  • Building Perl no longer writes to the source tree when configured with Configure's -Dmksymlinks option. [perl #121585]

    Configure-Dmksymlinks オプションが指定されたとき、Perl のビルドは もはやソースツリーに書き込まなくなりました。 [perl #121585]

プラットフォーム対応

プラットフォーム固有の注意

Android

Build support has been improved for cross-compiling in general and for Android in particular.

一般的に、そして特に Android 用に、クロスコンパイルでのビルド対応が 改良されました。

OpenBSD

Corrected architectures and version numbers used in configuration hints when building Perl.

Perl をビルドするときの設定ヒントで使われるアーキテクチャとバージョン番号が 修正されました。

Solaris

c99 options have been cleaned up, hints look for solstudio as well as SUNWspro, and support for native setenv has been added.

c99 オプションは整理され、ヒントは SUNWspro 同様 solstudio も 探すようになり、ネイティブな setenv のための対応が追加されました。

VMS

An old bug in feature checking, mainly affecting pre-7.3 systems, has been fixed.

主に 7.3 より前のシステムに影響するような、機能チェックに関する古いバグが 修正されました。

Windows

%I64d is now being used instead of %lld for MinGW.

MinGW では %lld ではなく %I64d を使うようになりました。

内部の変更

  • Added "sync_locale" in perlapi. Changing the program's locale should be avoided by XS code. Nevertheless, certain non-Perl libraries called from XS, such as Gtk do so. When this happens, Perl needs to be told that the locale has changed. Use this function to do so, before returning to Perl.

    "sync_locale" in perlapi が追加されました。 XS コードでプログラムのロケールを変更することは避けるべきです。 それでも、Gtk のような、XS から呼び出される一部の非 Perl ライブラリは それをします。 これが起きると、Perl はロケールが変更されたことを知らされる必要があります。 この関数は、Perl に戻る前にそれを行います。

バグ修正の抜粋

  • A bug has been fixed where zero-length assertions and code blocks inside of a regex could cause pos to see an incorrect value. [perl #122460]

    正規表現の中のゼロ幅表明とコードブロックで pos が間違った値を見るバグが 修正されました。 [perl #122460]

  • Using s///e on tainted utf8 strings could issue bogus "Malformed UTF-8 character (unexpected end of string)" warnings. This has now been fixed. [perl #122148]

    汚染された utf8 文字列に対して s///e を使うと、"Malformed UTF-8 character (unexpected end of string)" 警告を出すことがありました。 これは修正されました。 [perl #122148]

  • system and friends should now work properly on more Android builds.

    system 及びその同類は、より多くの Android ビルドで適切に 動作するようになりました。

    Due to an oversight, the value specified through -Dtargetsh to Configure would end up being ignored by some of the build process. This caused perls cross-compiled for Android to end up with defective versions of system, exec and backticks: the commands would end up looking for /bin/sh instead of /system/bin/sh, and so would fail for the vast majority of devices, leaving $! as ENOENT.

    見落としによって、-Dtargetsh によって Configure に指定された値は 一部のビルドプロセスでは無視されることになっていました。 これにより、Android のためにクロスコンパイルされた perl は system, exec, 逆クォートに欠陥のあるバージョンになっていました: コマンドは /system/bin/sh ではなく /bin/sh を探し、デバイスの圧倒的多数では 失敗して、$!ENOENT を設定していました。

  • Many issues have been detected by Coverity and fixed.

    Coverity によって検出された多くの問題が 修正されました。

Acknowledgements

Perl 5.20.1 represents approximately 4 months of development since Perl 5.20.0 and contains approximately 12,000 lines of changes across 170 files from 36 authors.

Perl 5.20.1 は、Perl 5.20.0 以降、36 人の作者によって、 170 のファイルに約 12,000 行の変更を加えて、 約 4 ヶ月開発されてきました。

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

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

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

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

Aaron Crane, Abigail, Alberto Simões, Alexandr Ciornii, Alexandre (Midnite) Jousset, Andrew Fresh, Andy Dougherty, Brian Fraser, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David Golden, David Mitchell, H.Merijn Brand, James E Keenan, Jan Dubois, Jarkko Hietaniemi, John Peacock, kafka, Karen Etheridge, Karl Williamson, Lukas Mai, Matthew Horsfall, Michael Bunk, Peter Martini, Rafael Garcia-Suarez, Reini Urban, Ricardo Signes, Shirakata Kentaro, Smylers, Steve Hay, Thomas Sibley, Todd Rinaldo, Tony Cook, Vladimir Marek, Yves Orton.

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 articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at https://rt.perl.org/ . There may also be information at http://www.perl.org/ , the Perl Home Page.

もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに 最近投稿された記事や http://rt.perl.org/perlbug/ にある 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 please send it to perl5-security-report@perl.org. This points to a closed subscription unarchived mailing list, which includes all the core committers, who will be able to help assess the impact of issues, figure out a resolution, and help co-ordinate the release of patches to mitigate or fix the problem across all platforms on which Perl is supported. Please only use this address for security issues in the Perl core, not for modules independently distributed on CPAN.

もし報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、 perl5-security-report@perl.org に送ってください。 このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している 全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを 助けることが出来る、全てのコアコミッタが参加している非公開の メーリングリストになっています。 このアドレスは、独自に CPAN で配布されているモジュールではなく、 Perl コアのセキュリティ問題だけに使ってください。

SEE ALSO

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 ファイル。