perl5161delta - perl v5.16.1 での変更点
この文書は 5.16.0 リリースと 5.16.1 リリースの変更点を記述しています。
5.14.0 のような以前のリリースから更新する場合は、まず 5.14.0 と 5.16.0 の違いについて記述している perl5160delta を読んでください。
バグ修正は Scalar-List-Util 1.23_04 で行われ、perl 5.16.1 は Scalar-List-Util 1.25 を含んでいます。
故意に、5.16.0 から互換性がなくなるようにした変更はありません。 もし 5.16.0 との互換性がなければ、それはバグですので、 どうか報告してください。 以下の "Reporting Bugs" を参照してください。
Scalar::Util と List::Util はバージョン 1.23 から 1.25 に 更新されました。
B::Deparse はバージョン 1.14 から 1.14_01 に更新されました。 B::Deparse が出力していた "uninitialized" 警告は出なくなりました [perl #113464]。
一部の Windows コンパイラで perl をビルドすると、(perlglob
プログラムを 使っている) miniperl の glob
演算子が PATH 環境変数を削除する問題によって 失敗していました [perl #113798]。
配布のトップレベルディレクトリの全ての C ヘッダファイルは、 長い間の他のプラットフォームでの慣習との一貫性のために、VMS でも 全てインストールされるようになりました。 以前はサブセットだけがインストールされていて、不足している インクルードファイルに依存している非コアエクステンションでは、 エクステンションのビルドを壊していました。
Perl v5.16.0 で導入された、tr/SEARCHLIST/REPLACEMENTLIST/
に 関連する退行が修正されました。 文字が複数回 SEARCHLIST
に現れると、最初の実体のみが意味を持つことに 鳴っています。 一部の環境では、最後の実体がそれ以前のものを上書きしていました。 [perl #113584]
B::COP::stashlen
が追加されました。 これはスレッド付きビルドで perl 5.16 で追加された内部フィールドへの アクセスを提供します。 これは 5.16 がリリースされる直前に壊れていました [perl #113034]。
re プラグマは $_
を壊さなくなりました。 [perl #113750]
Unicode 6.1 は Canonical_Combining_Class 特性の値の一つ(0 から 254 の範囲)で 間違った別名を使っていました。 別名 CCC133
は CCC132
であるべきです。 Perl は Unicode から提供されたデータファイルを、正しい値で上書きしました。
スカラファイルハンドルの複製は再び動作するようになりました。 [perl #113764]
スレッド付き perl では、正規表現の実行時コードブロックは、 実行木に保管されたパッケージ名を壊すことがあり、結果として caller
の結果が間違っていたり、クラッシュしたりすることが ありました [perl #113060]。
効率性のために、多くの演算子と組み込み関数は毎回同じスカラを返します。 左辺値サブルーチンと CORE:: 名前空間のサブルーチンはこの実装によって リークを許していました。 print &CORE::uc("a"), &CORE::uc("b")
は "BB" を出力していました。 同じことは uc
の返り値を返す左辺値サブルーチンでも起きていました。 いまではこのような場合では値はコピーされます [perl #113044]。
__SUB__
は特殊ブロック (BEGIN
, END
など) で 動作するようになりました。
外側からのレキシカル変数を参照するフォーマットが クラッシュしなくなりました。
新しい既知の問題はありませんが、5.16.0 リリースで認識されている 問題については "Known Problems" in perl5160delta を参照してください。
Perl 5.16.1 は、Perl 5.16.0 以降、8 人の作者によって、 96 のファイルに約 14,000 行の変更を加えて、 約 2 ヶ月開発されてきました。
Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 20 年を超えて繁栄しています。 以下の人々が、Perl 5.16.0 になるための改良に貢献したことが 分かっています:
Chris 'BinGOs' Williams, Craig A. Berry, Father Chrysostomos, Karl Williamson, Paul Johnson, Reini Urban, Ricardo Signes, Tony Cook.
これはバージョンコントロール履歴から自動的に生成しているので、ほぼ確実に 不完全です。 特に、Perl バグトラッカーに問題を報告をしてくれた (とてもありがたい)貢献者の 名前を含んでいません。
このバージョンに含まれている変更の多くは、Perl コアに含まれている CPAN モジュール由来のものです。 私たちは Perl が繁栄するのを助けている CPAN コミュニティ全体に感謝します。
全ての Perl の歴史的な貢献者のより完全な一覧については、 どうか Perl ソース配布に含まれている AUTHORS を参照してください。
もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに 最近投稿された記事や http://rt.perl.org/perlbug/ にある perl バグ データベースを確認してください。 Perl ホームページ、 http://www.perl.org/ にも情報があります。
もしまだ報告されていないバグだと確信したら、そのリリースに含まれている perlbug プログラムを実行してください。 バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを 意識してください。 バグレポートは perl -V
の出力と一緒に perlbug@perl.org に送られ Perl porting チームによって解析されます。
もし報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、 perl5-security-report@perl.org に送ってください。 このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している 全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを 助けることが出来る、全てのコアコミッタが参加している非公開の メーリングリストになっています。 このアドレスは、独自に CPAN で配布されているモジュールではなく、 Perl コアのセキュリティ問題だけに使ってください。
変更点の完全な詳細を見る方法については Changes ファイル。
Perl のビルド方法については INSTALL ファイル。
一般的なことについては README ファイル。
著作権情報については Artistic 及び Copying ファイル。