perldelta - perl v5.14.1 での変更点
この文書は 5.14.0 リリースと 5.14.1 リリースの変更点を記述しています。
5.12.0 のような以前のリリースから更新する場合は、まず 5.12.0 と 5.14.0 の 違いについて記述している perl5140delta を読んでください。
5.14.0 からの変更点はありません。
5.14.0 からの変更点はありません。
故意に、5.14.0 から互換性がなくなるようにした変更はありません。 もし 5.14.0 との互換性がなければ、それはバグですので、 どうか報告してください。
5.14.0 以降に廃止予定になったものはありません。
なし
B::Deparse はバージョン 1.03 から 1.04 に更新され、Perl 5.14.0 での 二つの退行が修正されました:
glob
演算子とそのダイヤモンド (<>
) 形式の逆パースが再び 動作するようになりました。[perl #90898]
::::
や ::::::
という名前のサブルーチンがあっても B::Deparse が ハングアップしなくなりました。
Pod::Perldoc はバージョン 3.15_03 から 3.15_04 に更新されました。
これは VMS での検索パスを修正します。[perl #90640]
なし
なし
given
, when
and default
が perlfunc に記載されました。
use
の文書に if.pm へのポインタが含まれるようになりました。
perllol は、Perl 5.14.0 で導入された新しい push $scalar
文法を 使った例が追加されました。
ビット単位演算子の説明は、Unicode 文字列に対してどのように動作するかの 説明が追加されました。
3 ドット(ヤダヤダ)演算子の節は強く関連しているカンマ演算子に関する節と 離れていたので、上に移動しました。
m//g
に関するさらなる例が追加されました。
<<\FOO
ヒヤドキュメント文法が追加されました。
perlrun は大幅に整理されました。 最も注目するべき所は、-0 フラグの -0x... 形式が明確化され、 環境変数の最後の節が修正、拡張されました。
WIFEXITED
, WEXITSTATUS
, WIFSIGNALED
, WTERMSIG
, WIFSTOPPED
, WSTOPSIG
の起動文書が修正されました。
以下の追加や変更が、警告や致命的エラーメッセージ含む診断出力に行われました。 完全な診断メッセージの一覧については、perldiag を参照してください。
なし
なし
なし
regexp.h は perl のヘッダファイルを含むいくつかのプロジェクトで 使われている GCC の -Werror
オプションとの互換性のために修正されました。
dist/Locale-Maketext/t/09_compile.t のテストのいくつかが環境に依存して 失敗する問題が修正されました。[perl #89896]
t/re/re.t のための監視タイマが、以前のタイマが終了する前にテストを 完了することができない SH-4 システムに対応するために、延長されました。
なし
なし
Solaris 9 と Solaris 10 で Perl をビルドするために必要な Solaris パッケージの一覧が修正されました。
lib/locale.t テストスクリプトが、今度の Lion リリースで動作するように 更新されました。
Mac OS X 固有のコンパイル手順が明確化されました。
ODBM_File インストール処理は、Ubuntu natty の新しいライブラリパスに 更新されました。
フォーマットのコンパイル表現は PERL_MAGIC_fm の mg_ptr 経由で 保管されるようになりました。 以前は通常の文字列の末尾である SvLEN() の向こうの文字列バッファに 保管されていました。 SvCOMPILED() と SvCOMPILED_{on,off}() は XS コードとの互換性のためだけに 存在するようになりました。 最初は常に 0、後の二つは何もしなくなりました。
反復される次の二つのハッシュ要素が削除されたときに "Use of freed value in iteration" エラーが出るバグが修正されました。 [perl #85026]
同じ定数サブルーチンを index
と formline
の両方に渡してもどちらかが 失敗しなくなりました。[perl #89218]
5.14.0 では、[\w\s]
のような正規表現文字クラスでメモリリークを 起こしていましたが、これは修正されました。
正規表現マッチングでのエッジケースではループになる可能性がありました。 これは /i
が適用されている状況下でのマルチ文字を畳み込んでいる 大かっこの文字クラスで、マッチングするターゲット文字列に畳み込まれる 一つ目の要素に引き続いて畳み込みの残りの部分から始まるようなもう一つの マルチ文字畳み込み文字が続いている場合にのみ起こります。
"s\N{U+DF}" =~ /[\x{DF}foo]/i
はそのようなケースの一つです。 \xDF
は "ss"
に畳み込みます。
いくつかの Unicode の大文字小文字の畳み込みのバグが修正されました。
(5.14.0 からの) 新しい正規表現修飾子 /a
は /aa
のように繰り返すと ASCII の範囲外の文字で /i
の基では範囲内の文字とマッチングする文字を 禁止します。 これは、以下のような、全ての選択を含むある種の状況では動作しませんでした:
"\N{KELVIN SIGN}" =~ /k|foo/iaa;
これは間違って成功していました。 これは修正されました。
ヒヤドキュメントをパースするときに解放されたバッファから読み込めることが あったケースを修正しました。
Perl 5.14.1 は、Perl 5.14.0 以降、17 人の作者とコミッタによって、 38 のファイルに約 3500 行の変更を加えて、 約 4 週間開発されてきました。
Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 20 年を超えて繁栄しています。 以下の人々が、Perl 5.14.1 になるための改良に貢献したことが 分かっています:
Bo Lindbergh, Claudio Ramirez, Craig A. Berry, David Leadbeater, Father Chrysostomos, Jesse Vincent, Jim Cromie, Justin Case, Karl Williamson, Leo Lapworth, Nicholas Clark, Nobuhiro Iwamatsu, smash, Tom Christiansen, Ton Hospel, Vladimir Timofeev, and Zsbán Ambrus.
もしバグと思われるものを見つけたら、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 ファイル。