perl586delta - perl v5.8.6 での変更点
このドキュメントは 5.8.5 リリースと 5.8.6 リリースの変更点を記述しています。
(互換性のない変更)
5.8.5 と互換性のない変更はありません。
(Core の拡張)
perl インタプリタは UTF-16 でエンコードされたスクリプトに対して より寛容になりました。
Win32 では、Perl は IFS 非互換の LSP も使えるようになりました; Perl を McAfee Guardian のようなファイアウォールと共に 動くようにするためです。 完全な詳細については(特に Win95 で実行しているなら) README.win32 ファイルを 参照してください。
(モジュールとプラグマ)
base プラグマでは、フィールドを持たない中間クラスが
基底クラスのプライベートフィールドを壊していました。
これは修正されました。
Cwd は(新しい PathTool 配布パッケージの一部として) バージョン 3.01 に更新されました。
Devel::PPPort はバージョン 3.03 に更新されました。
File::Spec は(新しい PathTool 配布パッケージの一部として) バージョン 3.01 に更新されました。
Encode はバージョン 2.08 に更新されました。
ExtUtils::MakeMaker はバージョン 6.17 のままです。 現在 CPAN で入手可能な最新の安定版はいくつかのコアプラットフォームの コアモジュールで問題があります。
I18N::LangTags はバージョン 0.35 に更新されました。
Math::BigInt はバージョン 1.73 に更新されました。
Math::BigRat はバージョン 0.13 に更新されました。
MIME::Base64 はバージョン 3.05 に更新されました。
POSIX::sigprocmask 関数は、シグナルマスクを変更することなく 現在のシグナルマスクを取得できるようになりました。
Time::HiRes はバージョン 1.65 に更新されました。
(ツールの変更)
デバッガのスレッド対応を有効にするための -dt コマンドラインオプションが Perl に追加されました。
(パフォーマンスの向上)
reverse sort ... は逆順でソートするように最適化され、
一時的な中間リストを生成しなくなりました。
for (reverse @foo) は逆順での繰り返しに最適化され、
一時的な逆順のリストを生成しなくなりました。
(バグ修正の抜粋)
正規表現エンジンは、時々バグった XS モジュールが生成するような 不正な utf8 入力に対してより頑強になりました。
threads::shared 配列に対する foreach が Perl をクラッシュさせることが
ありました。このバグは修正されました。
STDOUT のデストラクタでの正規表現はコアダンプを引き起こすことが
ありました。正規表現パッドがすでに解放されているからです。
これは修正されました。
goto & はより頑強になりました - 深い再帰と繋がった goto & に
関するバグは修正されました。
配列に delete を使ってもメモリリークしなくなりました。
共有配列リファレンスに pop を使ってもメモリリークしなくなりました。
eval_sv() が汚染テストに失敗するとスタックを壊すことがありました -
これは修正されました。
64 bit ポインタのプラットフォームにおいて、 数値比較演算子がオーバーロードされた値ではなく、 オーバーロードされたリファレンスのアドレスを比較していました。 これは修正されました。
UTF-8 エンコーディングバッファに対してバッファの最後よりも後ろへ
read してもバッファ長の計算を間違わなくなりました。
Perl の sort() はバージョン 5.8 以降安定していることになっていましたが、
sort {$b cmp $a} と sort {$b <=> $a} の二つの場合に
不安定なソートを行っていました。これは 5.8.6 で修正されました。
$^D を local 化しても正しい -D オプションに関する診断メッセージを
生成しなくなりました。
(新しい、または変更された診断メッセージ)
-t と -T に関して: Too late for "-T" option というメッセージはより分かりやすい以下のものに変更されました: "-T" is on the #! line, it must also be used on the command line
(内部の変更)
全てのアプリケーション組み込み perl は -DPERL_USE_SAFE_PUTENV 付きで コンパイルされたかのように振る舞うことになりました。 詳細は INSTALL ファイルの "Environment access" を参照してください。
ほとんどの C ソースファイルには、実装の概略を知りたい人の
助けとなるよう、先頭にその目的を説明するコメントがつけられました。
(新しいテスト)
B モジュール群に関するテストが大幅に追加されました。
もしバグと思われるものが見つかったら、 comp.lang.perl.misc ニュースグループに 最近投稿された記事や http://bugs.perl.org にある perl バグデータベースを 確認してください。 Perl ホームページ、http://www.perl.org にも情報があります。
もしまだ報告されていないバグだと確信したら、そのリリースに含まれている perlbug プログラムをを実行してください。 バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを 意識してください。バグレポートは perl -V の出力と一緒に perlbug@perl.org に送られ Perl porting チームによって解析されます。 Perl 5 のバグについては http://bugs.perl.org/ で閲覧及び 検索することができます。
Changes ファイルに変更点の完全な詳細があります。
INSTALL ファイルに Perl のビルド方法があります。
README ファイルに一般的なことがあります。
Artistic 及び Copying ファイルに著作権情報があります。