perldelta - perl v5.8.9 の新機能
perldelta - what is new for perl v5.8.9

目次 TABLE OF CONTENTS


名前 NAME

perldelta - perl v5.8.9 の新機能 perldelta - what is new for perl v5.8.9


説明 DESCRIPTION

このドキュメントでは 5.8.8 リリースと 5.8.9 リリースとでの相異点を 説明します. This document describes differences between the 5.8.8 release and the 5.8.9 release.


Notice

5.8.9 リリースは 5.8.x シリーズにおける最後の大きなリリースと なるでしょう. 5.8.x の今後のリリースは恐らくセキュリティに関する物か プラットフォームにおけるビルド不具合のみの対応となるでしょう. 従って 5.10.x への統合をまだ始めていないのなら考えるべきでしょう. 詳細は "既知の問題点" を参照してください. The 5.8.9 release will be the last significant release of the 5.8.x series. Any future releases of 5.8.x will likely only be to deal with security issues, and platform build failures. Hence you should look to migrating to 5.10.x, if you have not started already. See "Known Problems" for more information.


非互換となる修正 Incompatible Changes

C++ で書かれた拡張のソースコードにおいて特定の構築を変更する必要があるかも しれません. 詳細は "内部処理の変更" を参照してください. C で書かれた書かれた全ての拡張, C++ で書かれた物の大半, そして全てのコンパイル済みの拡張には影響ありません. これは C++ のサポートの改善のために必要でした. A particular construction in the source code of extensions written in C++ may need changing. See "Changed Internals" for more details. All extensions written in C, most written in C++, and all existing compiled extensions are unaffected. This was necessary to improve C++ support.

これ以外には 5.8.8 と意図的な非互換はありません. もしなにか非互換と 思われる事項がありましたら, それらはバグでしょう, ぜひ報告をお願いします. Other than this, there are no changes intentionally incompatible with 5.8.8. If any exist, they are bugs and reports are welcome.


コアの機能拡張 Core Enhancements

Unicode 文字データベース 5.1.0. Unicode Character Database 5.1.0.

Perl 5.8 に含まれる Unicode 文字データベースのコピーは 4.1.0 から 5.1.0 に更新されました. 主な変更点は http://www.unicode.org/versions/Unicode5.1.0/#NotableChanges を参照してください. The copy of the Unicode Character Database included in Perl 5.8 has been updated to 5.1.0 from 4.1.0. See http://www.unicode.org/versions/Unicode5.1.0/#NotableChanges for the notable changes.

ディレクトリハンドルに対する stat 及び -X stat and -X on directory handles

ディレクトリハンドルに対して stat 及び -X ファイルstat演算を 行えるようになりました. ディレクトリ及びファイルハンドルが共に ベアワードだった場合には, どちらになるかはあいまいです. その様なときにはファイルハンドルとしての動作が優先されます. どちらでも *FILE ファイルハンドルのように *FILE{IO} として扱われます. It is now possible to call stat and the -X filestat operators on directory handles. As both directory and file handles are barewords, there can be ambiguities over which was intended. In these situations the file handle semantics are preferred. Both also treat *FILE{IO} filehandles like *FILE filehandles.

@INC でのソースフィルタ Source filters in @INC

フックによって開かれて返されたファイルハンドルに対して ソースフィルタを加えることで @INC での関数によるフックの メカニズムを強化できるようになりました. この機能は長い間予定は立てられていましたが, これまでは実装されていませんでした. 詳細は perlfunc 内 "require" [CPAN] を参照してください. (Nicholas Clark) It's possible to enhance the mechanism of subroutine hooks in @INC by adding a source filter on top of the filehandle opened and returned by the hook. This feature was planned a long time ago, but wasn't quite working until now. See "require" in perlfunc [CPAN] for details. (Nicholas Clark)

定数畳み込み時の例外 Exceptions in constant folding

定数畳み込み処理が例外ハンドラに補足されるようになり, 畳み込み時に例外が投げられた場合には(例えば 0/0 の評価時), perl はプログラム全体を中断するのではなく その時点の optree を維持するようになりました. この変更 なしには, プログラムは例外を生成する式を持っているプログラムを, たとえその式が実行時に到達しない箇所であったとしても コンパイルできません. (Nicholas Clark, Dave Mitchell) The constant folding routine is now wrapped in an exception handler, and if folding throws an exception (such as attempting to evaluate 0/0), perl now retains the current optree, rather than aborting the whole program. Without this change, programs would not compile if they had expressions that happened to generate exceptions, even though those expressions were in code that could never be reached at runtime. (Nicholas Clark, Dave Mitchell)

no VERSION

特定のバージョンより古い perl を使いたいときに no に続けてバージョン番号を指定することで できるようになりました. You can now use no followed by a version number to specify that you want to use a version of perl older than the specified one.

内部の UTF-8 キャッシュコードの改善 Improved internal UTF-8 caching code

文字列に於いて文字オフセットのために算出された UTF-8 バイトオフセット のキャッシュを行うコードが書き直されました. いくつかのバグは落ち着き削除され, そしてコードはそこに持っている情報をより良く, そして高速に使えるように なりました. 特に, 文字列のオフセットを計算する前に 文字列の最後まで計算しないために, 長い文字列に於いて高速になりました. また実行時に疑わしい問題の原因かどうかを確認できるように, キャッシュ部分のコードを無効にできるようになりました. The code that caches calculated UTF-8 byte offsets for character offsets for a string has been re-written. Several bugs have been located and eliminated, and the code now makes better use of the information it has, so should be faster. In particular, it doesn't scan to the end of a string before calculating an offset within the string, which should speed up some operations on long strings. It is now possible to disable the caching code at run time, to verify that it is not the cause of suspected problems.

実行時再配置インストール Runtime relocatable installations

Configure は実行時に再配置可能な perl tree の設置をサポートしました. "再配置可能なインストール" を参照してください. There is now Configure support for creating a perl tree that is relocatable at run time. see "Relocatable installations".

新しい内部変数 New internal variables

${^CHILD_ERROR_NATIVE}

この変数は最後のパイプクローズ, バックティックコマンド(``), wait若しくはwaitpidの成功した呼び出し, 若しくはsystem演算子 からのネイティブなステータスを返します. 詳細は perlvar [CPAN] を参照してください. (Gisle Aas より提供) This variable gives the native status returned by the last pipe close, backtick command, successful call to wait or waitpid, or from the system operator. See perlvar [CPAN] for details. (Contributed by Gisle Aas.)

${^UTF8CACHE}

この変数は内部の UTF-8 オフセットキャッシュコードの状態を 制御します. 1で有効に(デフォルト), 0 で無効に, -1 で線形探索の結果と比較することでキャッシュコードのデバッグを行い, それ以外の値ではpanicします. This variable controls the state of the internal UTF-8 offset caching code. 1 for on (the default), 0 for off, -1 to debug the caching code by checking all its results against linear scans, and panicing on any discrepancy.

readpipe() がオーバーライド可能になりました readpipe is now overridable

組み込み関数 readpipe() がオーバーライド可能になりました. これによってこれに対応する演算子, qx// (``) もオーバーライドすることができます. The built-in function readpipe is now overridable. Overriding it permits also to override its operator counterpart, qx// (also known as ``).

簡単な例外処理マクロ simple exception handling macros

Perl 5.8.9 (及び 5.10.0 より以降)では XS モジュールでの とても基本的な例外処理を行うためのいくつかのマクロが提供されます. croak するかもしれない処理を呼ぶけれど, Perl に制御を戻す前に クリーンアップ処理を行いたい時にこれらのマクロを使うことが出来ます. 詳細は perlguts 内 "Exception Handling" [CPAN] を参照してください. Perl 5.8.9 (and 5.10.0 onwards) now provides a couple of macros to do very basic exception handling in XS modules. You can use these macros if you call code that may croak, but you need to do some cleanup before giving control back to Perl. See "Exception Handling" in perlguts [CPAN] for more details.

-D オプションの強化 -D option enhancements

XS補助による SWASHGET XS-assisted SWASHGET

Unicode プロパティや transliteration mapping を得るために 正規表現エンジンが使ういくつかの pure-perl コードが処理の高速化のために XS で再実装されました. (SADAHIRO Tomoyuki) Some pure-perl code that the regexp engine was using to retrieve Unicode properties and transliteration mappings has been reimplemented in XS for faster execution. (SADAHIRO Tomoyuki)

定数関数 Constant subroutines

インタプリタは埋め込み可能な定数のよりもっとメモリ効率の良い形式を 内部的にサポートしました. シンボルテーブルに定数値へのリファレンスを 格納することは定数関数を参照する完全なタイプグロブと等価ですが, 400 バイトのメモリ削減となります. このproxyされた定数関数は 必要であれば実際のタイプグロブへと自動的にアップグレードされます. ここで取ったアプローチは既に行われている関数スタブ宣言において 完全なタイプグロブを置く代わりに単なるスカラーを格納する 空間最適化と似ています. The interpreter internals now support a far more memory efficient form of inlineable constants. Storing a reference to a constant value in a symbol table is equivalent to a full typeglob referencing a constant subroutine, but using about 400 bytes less memory. This proxy constant subroutine is automatically upgraded to a real typeglob with subroutine if necessary. The approach taken is analogous to the existing space optimisation for subroutine stub declarations, which are stored as plain scalars in place of the full typeglob.

しかしながら, シンボルテーブルにタイプグロブ以外の物が入っていることを (悪いことに)予期していない既存のコードの下位互換を助けるために, コアではれぐれっしょんてすと以外ではこの機能は使っていません. However, to aid backwards compatibility of existing code, which (wrongly) does not expect anything other than typeglobs in symbol tables, nothing in core uses this feature, other than the regression tests.

5.005 からは, プロトタイプ付きの関数のスタブはシンボルテーブルにプレインテキストとして 格納され, プロトタイプのないスタブは数値 -1 で格納されます, つまりコアがシンボルテーブルにタイプグロブのみを置くと前提にしている コードは, 10年にわたって誤った前提を取っていることになります. Stubs for prototyped subroutines have been stored in symbol tables as plain strings, and stubs for unprototyped subroutines as the number -1, since 5.005, so code which assumes that the core only places typeglobs in symbol tables has been making incorrect assumptions for over 10 years.


新しいプラットフォーム New Platforms

追加されたコンパイルサポート: Compile support added for:


モジュールとプラグマ Modules and Pragmata

新しいモジュール New Modules

更新されたモジュール Updated Modules


ユーティリティの変更点 Utility Changes

デバッガが 1.31 へと更新されました debugger upgraded to version 1.31

perlthanks

Perl 5.8.9 は新しいユーティリティ perlthanks を加えました, これは perlbug と似たような物ですが, バグ報告ではない物を作者及び Perl のメンテナに送ります. バグ報告以外なにもこないと ちょっとがっかりしたりします - これが何か変えてくれると思います. Perl 5.8.9 adds a new utility perlthanks, which is a variant of perlbug, but for sending non-bug-reports to the authors and maintainers of Perl. Getting nothing but bug reports can become a bit demoralising - we'll see if this changes things.

perlbug

perlbug はコア以外のモジュールの報告かをチェックし, 代わりにそれを CPAN author に送るかどうかを提案します. perlbug now checks if you're reporting about a non-core module and suggests you report it to the CPAN author instead.

h2xs

h2ph


新しいドキュメント New Documentation

いつものように, このドキュメントは訂正, 明確化及びその他の nitfixes の 共有を受け入れます. インデックス用に タグが追加されます. As usual, the documentation received its share of corrections, clarifications and other nitfixes. More tags were added for indexing.

perlunitut [CPAN] は Juerd Waalboer によって書かれた Unicode に関連する用語及び Perl スクリプトにおいて Unicode を正しく扱う方法です. perlunitut [CPAN] is a tutorial written by Juerd Waalboer on Unicode-related terminology and how to correctly handle Unicode in Perl scripts.

perlunicode [CPAN] はユーザ定義プロパティの節が更新されました. perlunicode [CPAN] is updated in section user defined properties.

perluniintro [CPAN] は特定のエンコーディングとして正しくないデータを 検出する例を更新しました. perluniintro [CPAN] has been updated in the example of detecting data that is not valid in particular encoding.

perlcommunity [CPAN] は一層の情報に沿って Perl コミュニティの 概要を提供します. perlcommunity [CPAN] provides an overview of the Perl Community along with further resources.

CORE [CPAN] は Perl のコア機能のための擬似的な名前空間を記述しています. CORE [CPAN] documents the pseudo-namespace for Perl's core routines.


既存のドキュメントに対する修正 Changes to Existing Documentation

perlglossary [CPAN] に 廃止されたモジュール及び機能 及び 取り除かれるモジュール が追加されました. perlglossary [CPAN] adds deprecated modules and features and to be dropped modules.

perlhack [CPAN] は更新され, smoke testing の情報が追加されました. perlhack [CPAN] has been updated and added resources on smoke testing.

The Perl FAQs (perlfaq1..perlfaq9) が更新されました. The Perl FAQs (perlfaq1..perlfaq9) have been updated.

perlcheat [CPAN] は \w, \d, 及び \s に関するより詳細を更新しました. perlcheat [CPAN] is updated with better details on \w, \d, and \s.

perldebug [CPAN] はデバッガの呼び方に関する情報を更新しました. perldebug [CPAN] is updated with information on how to call the debugger.

perldiag [CPAN] ドキュメントは exists 及び delete の引数における アンパサンド付きの関数及び警告に関するいくつかの用語を更新しました. perldiag [CPAN] documentation updated with subroutine with an ampersand on the argument to exists and delete and also several terminology updates on warnings.

perlfork [CPAN] では疑似プロセス内における exec の制限を記述しました. perlfork [CPAN] documents the limitation of exec inside pseudo-processes.

perlfunc [CPAN]:

perllocale [CPAN] は Debian バグ #379463 に対応するための 数値のローカライゼーションと POSIX::setlocale に関して調整. perllocale [CPAN] documentation is adjusted for number localization and POSIX::setlocale to fix Debian bug #379463.

perlmodlib [CPAN] は CPAN::API::HOWTO 及び Sys::Syslog::win32::Win32 と共に更新されました. perlmodlib [CPAN] is updated with CPAN::API::HOWTO and Sys::Syslog::win32::Win32

perlre [CPAN] は [[:xxxxx:]]\p{IsXxxxx} マッチの違いを 反映して更新されました. /g 及び /c 修飾子の節も追加されました. perlre [CPAN] documentation updated to reflect the differences between [[:xxxxx:]] and \p{IsXxxxx} matches. Also added section on /g and /c modifiers.

perlreguts [CPAN] は正規表現エンジンの内部を記述します. これは Yves Orton から提供されました. perlreguts [CPAN] describe the internals of the regular expressions engine. It has been contributed by Yves Orton.

perlrebackslash [CPAN] は全ての perl 正規表現におけるバックスラッシュ及び エスケープシーケンスを記述します. perlrebackslash [CPAN] describes all perl regular expression backslash and escape sequences.

perlrecharclass [CPAN] は Perl 正規表現エンジンでの文字クラスの構文及び 使い方を記述します. perlrecharclass [CPAN] describes the syntax and use of character classes in Perl Regular Expressions.

perlrun [CPAN] はハッシュシード PERL_HASH_SEED を明確になるように 更新しました. また -x 及び -u オプションの説明も増えました. perlrun [CPAN] is updated to clarify on the hash seed PERL_HASH_SEED. Also more information in options -x and -u.

perlsub [CPAN] の例は opendir 構文でレキシカル変数を使うように 更新されました. perlsub [CPAN] example is updated to use a lexical variable for opendir syntax.

perlvar [CPAN] は実GID(real GID; $()と実行GID(effective GID; $))に 関する混乱を修正しました. perlvar [CPAN] fixes confusion about real GID $( and effective GID $).

perlthrtut 内 "Queues: Passing Data Around" [CPAN] 及び perlothrtut [CPAN] における Perl スレッドチュートリアルの例が修正されました. Perl thread tutorial example is fixed in section "Queues: Passing Data Around" in perlthrtut [CPAN] and perlothrtut [CPAN].

perlhack [CPAN] ドキュメントは Jarkko Hietaniemi 及びその他の人によって 多く改善されました. perlhack [CPAN] documentation extensively improved by Jarkko Hietaniemi and others.

perltoot [CPAN] は @UNIVERSAL::ISA の変更の際に関する情報を提供します. perltoot [CPAN] provides information on modifying @UNIVERSAL::ISA.

perlport [CPAN] は Windows における kill(-9, ...) セマンティクスの 違いを含めるように拡張されました. これは Win32 及び cygwin において dump がサポートされていないことを明確に言及しています. perlport [CPAN] documentation extended to include different kill(-9, ...) semantics on Windows. It also clearly states dump is not supported on Win32 and cygwin.

INSTALL は更新され今っぽくなりました. INSTALL has been updated and modernised.


パフォーマンスの強化 Performance Enhancements


インストールとコンフィグレーションの改善 Installation and Configuration Improvements

再配置可能なインストール Relocatable installations

Configure は再配置可能な perl ツリーの作成をサポートしました. Configure-Duserelocatableinc を指定することで @INC (及び %Configure のその他の物)のパスに追加で perl 実行形式からのパスを置くことが出来ます. There is now Configure support for creating a relocatable perl tree. If you Configure with -Duserelocatableinc, then the paths in @INC (and everything else in %Config) can be optionally located via the path of the perl executable.

起動時には, @INC 若しくは Config にある Configure が 再配置可能とマークした(".../"で始まっている)全てのパスは $^X のディレクトリで前置されます. これは再配置は ディレクトリ別で設定可能であり, -Duserelocatableinc の デフォルトは全てが再配置されます. 初期インストールは最初に設定された プレフィックスへと行われます. At start time, if any paths in @INC or Config that Configure marked as relocatable (by starting them with ".../"), then they are prefixed the directory of $^X. This allows the relocation can be configured on a per-directory basis, although the default with -Duserelocatableinc is that everything is relocated. The initial install is done to the original configured prefix.

設定の改善 Configuration improvements

Configure は一時ファイルをよりちゃんと削除するようになりました. Tom Callaway (RedHat より)もまたコンパイラ及びリンカに渡される フラグのセットを補完するパッチを提供してくれ, 特に Linux で -fPIC が有効になりました. また /dev/null がデバイスでないときに croak するようになりました. Configure is now better at removing temporary files. Tom Callaway (from RedHat) also contributed patches that complete the set of flags passed to the compiler and the linker, in particular that -fPIC is now enabled on Linux. It will also croak when your /dev/null isn't a device.

新しい設定変数 d_pseudoforkConfigure に追加され, これは Config モジュールの $Config{d_pseudofork} として 提供されます. これは実際の fork サポートなのか Windows プラットフォームにおける疑似エミュレーションなのかを識別します. A new configuration variable d_pseudofork has been to Configure, and is available as $Config{d_pseudofork} in the Config module. This distinguishes real fork support from the pseudofork emulation used on Windows platforms.

Config.pod 及び config.sh はクロスコンパイルに適切な位置に 配置されるようになりました. Config.pod and config.sh are now placed correctly for cross-compilation.

$Config{useshrplib} は共有 perl ライブラリを使うときは 'yes' ではなく 'true' になります. $Config{useshrplib} is now 'true' rather than 'yes' when using a shared perl library.

コンパイルの改善 Compilation improvements

平行 make が正しく動作するようになりました, けれども make test が平行に実行されるとまた問題があります. Parallel makes should work properly now, although there may still be problems if make test is instructed to run in parallel.

多くのコンパイル時警告がきれいになりました. S_emulate_eaccess() のとても頑固なコンパイラ警告は 6回の試行の後に沈静化しました. g++ サポートも, 特にFreeBSDの為にチューニングされました. Many compilation warnings have been cleaned up. A very stubborn compiler warning in S_emulate_eaccess() was killed after six attempts. g++ support has been tuned, especially for FreeBSD.

mkppport が統合され, コアにある全ての ppport.h ファイルはビルド時に自動生成されるようになりました (そしてクリーンアップで削除されます). mkppport has been integrated, and all ppport.h files in the core will now be autogenerated at build time (and removed during cleanup).

インストールの改善 Installation improvements.

installman-Duserelocatableinc 及び DESTDIR と共に 動作するようになりました. installman now works with -Duserelocatableinc and DESTDIR.

installperl か以下の物をインストールしなくなりました: installperl no longer installs:

プラットフォーム関係の変更点 Platform Specific Changes

AIX, Cygwin, DEC/OSF, FreeBSD, HP/UX, Irix 6 Linux, MachTen, NetBSD, OS/390, QNX, SCO, Solaris, SunOS, System V Release 5.x (UnixWare 7, OpenUNIX 8), Ultrix, UMIPS, uts 及び VOS に対する ヒントの改善があります. There are improved hints for AIX, Cygwin, DEC/OSF, FreeBSD, HP/UX, Irix 6 Linux, MachTen, NetBSD, OS/390, QNX, SCO, Solaris, SunOS, System V Release 5.x (UnixWare 7, OpenUNIX 8), Ultrix, UMIPS, uts and VOS.

FreeBSD

Solaris

VMS

Windows


バグ修正のピックアップ Selected Bug Fixes

Unicode

内部 Unicode 実装 (UTF-8) に関連する多くの多くのバグが修正されました. 特に, 長く残っていた tie, オーバーロード 若しくは $@ から Unicode を返す関連のバグがいなくなりました, いくつかは報告には あがったことはありません. Many many bugs related to the internal Unicode implementation (UTF-8) have been fixed. In particular, long standing bugs related to returning Unicode via tie, overloading or $@ are now gone, some of which were never reported.

unpack は内部的には数値型のUTF-8から文字列に変換し戻すように なりました. これは 5.10 との完全な一貫性と 現在の振る舞いとの妥協です, これは文字列型の"機能"として しばしば使われています. unpack will internally convert the string back from UTF-8 on numeric types. This is a compromise between the full consistency now in 5.10, and the current behaviour, which is often used as a "feature" on string types.

IO レイヤで :crlf 及び UTF-16 の同時使用は動作するように なりました. Using :crlf and UTF-16 IO layers together will now work.

Unicode /\s+/ 及び / \0/ におけるsplit の問題は修正されました. Fixed problems with split, Unicode /\s+/ and / \0/.

修正されたバグ RT #40641 - 正規表現における Unicode のエンコーディング (encoding of Unicode characters in regular expressions). Fixed bug RT #40641 - encoding of Unicode characters in regular expressions.

正規表現で特定のパターンを使うとパニックになるバグの修正. [RT #45337] Fixed a bug where using certain patterns in a regexp led to a panic. [RT #45337]

Perl はロケールの文字が UTF-8 でないと(無限内部再帰によって) segfault していました [RT #41442]: Perl no longer segfaults (due to infinite internal recursion) if the locale's character is not UTF-8 [RT #41442]:

    use open ':locale';
    print STDERR "\x{201e}"; # „

PerlIO

PerlIO が Unix ファイルディスクリプタの追跡を維持するために使う リファレンスカウンタ及び XS FILE *を得たり解放したりするのに 使う API の非一貫性が修正されました. Inconsistencies have been fixed in the reference counting PerlIO uses to keep track of Unix file descriptors, and the API used by XS code to manage getting and releasing FILE *s

Magic

tie, 汚染(taint) 及びスレッド共有等の機能の実装に使われている 内部システムである Magic に関連するいくつかのバグが修正されました. Several bugs have been fixed in Magic, the internal system used to implement features such as tie, tainting and threads sharing.

tie された配列に対する undef @array は正しく CLEAR メソッドを 呼ぶようになりました. undef @array on a tied array now correctly calls the CLEAR method.

いくつかのビット演算はその引数がmagicにかかっているかを検証しない. [RT #24816] Some of the bitwise ops were not checking whether their arguments were magical before using them. [RT #24816]

Magic は式 \&$x によって二度呼ばれることはなくなりました Magic is no longer invoked twice by the expression \&$x

大きな値を割り当てるとtaintが解決されるバグ. [RT #40708] A bug with assigning large numbers and tainting has been resolved. [RT #40708]

MAGIC vtable に新しいエントリ svt_local が追加されました. これは magic を local の間に新しい値に複製した時に これは共有変数を local するときの問題を解決するために使われます. . A new entry has been added to the MAGIC vtable - svt_local. This is used when copying magic to the new value during local, allowing certain problems with localising shared variables to be resolved.

実装の詳細は perlguts 内 "Magic Virtual Tables" [CPAN] を参照してください. For the implementation details, see "Magic Virtual Tables" in perlguts [CPAN].

オーバーロードされたオブジェクトの再ブレスが可能に Reblessing overloaded objects now works

内部的には, perl のオブジェクト性はリファレンスではなく 参照された先のオブジェクトにあります, メソッドはリファレンスを通してのみ呼び出すことができますが. しかしながら, オーバーロードのオリジナルの実装では オーバーロードに関連するフラグをリファレンスに格納していました, リファレンスが複製される若しくは新しいリファレンスの作成時に設定される時は フラグを中継して複製されます. これは明らかにバグの中にあります - もしオブジェクトをオーバーロードを持っているクラスから 持っていないクラスへとブレスし直すと, 他の既存のリファレンスは(そのまま)オーバーロードされたオブジェクトを 示していると考え, その C コードパスを通り, エラーを投げます. 同じように, 他のリファレンスが存在しているときにオーバーロードされている クラスへとブレスするとオーバーロードを使っていないかのようになります. Internally, perl object-ness is on the referent, not the reference, even though methods can only be called via a reference. However, the original implementation of overloading stored flags related to overloading on the reference, relying on the flags being copied when the reference was copied, or set at the creation of a new reference. This manifests in a bug - if you rebless an object from a class that has overloading, into one that does not, then any other existing references think that they (still) point to an overloaded object, choose these C code paths, and then throw errors. Analogously, blessing into an overloaded class when other references exist will result in them not using overloading.

この実装は 5.10 で修正されました, しかしこれはフラグビットの意味を変更してしまいます, そのためバイナリ互換が維持されず, 5.8.9 へは適用できません. けれども, 5.8.9 は同じバグ修正の実装の回避方法があります. 参照される実体が複数のリファレンスを持っているのなら, 全ての他のリファレンスは検索され, 訂正されます. 完全な検索は現在の関数から外にレキシカル及び引数スタックのスキャンによって 可能であればいつでも回避されます. The implementation has been fixed for 5.10, but this fix changes the semantics of flag bits, so is not binary compatible, so can't be applied to 5.8.9. However, 5.8.9 has a work-around that implements the same bug fix. If the referent has multiple references, then all the other references are located and corrected. A full search is avoided whenever possible by scanning lexicals outwards from the current subroutine, and the argument stack.

あるよく知られた Linux ベンダーはこのバグ修正の不完全な物を 彼らの /usr/bin/perl に適用し, アップストリームに相談することなく パフォーマンスに関するレポートをそうそうに閉じてしまいました. これは十分ではなく, 彼らはその後そのリリースされていない変更に 対する必要な修正を11ヶ月にわたって無視し続けました, 長く苦しめられた支払い顧客から, 広く知られたブログやスラッシュドットでその不手際が取り上げられた ことに触発されて, 大規模な圧力がかけられるまで. A certain well known Linux vendor applied incomplete versions of this bug fix to their /usr/bin/perl and then prematurely closed bug reports about performance issues without consulting back upstream. This not being enough, they then proceeded to ignore the necessary fixes to these unreleased changes for 11 months, until massive pressure was applied by their long-suffering paying customers, catalysed by the failings being featured on a prominent blog and Slashdot.

strict は文字列 eval にも波及するように strict now propagates correctly into string evals

5.8.8 以前において: Under 5.8.8 and earlier:

    $ perl5.8.8 -e 'use strict; eval "use foo bar" or die $@'
    Can't locate foo.pm in @INC (@INC contains: ... .) at (eval 1) line 2.
    BEGIN failed--compilation aborted at (eval 1) line 2.

5.8.9 以降において: Under 5.8.9 and later:

    $ perl5.8.9 -e 'use strict; eval "use foo bar" or die $@'
    Bareword "bar" not allowed while "strict subs" in use at (eval 1) line 1.

これはエラーメッセージをパースしていて間違った振る舞いを当てにしていた プログラムで問題となるかもしれません. This may cause problems with programs that parse the error message and rely on the buggy behaviour.

その他の修正 Other fixes

プラットフォーム固有の修正 Platform Specific Fixes

Darwin / MacOS X

OS/2

Tru64

RedHat Linux

Solaris/i386

VMS

Windows

小さな修正 Smaller fixes


新しく追加された及び変更された診断メッセージ New or Changed Diagnostics

panic: sv_chop %s

この新しい致命的なエラーは C ルーティン Perl_sv_chop() に スカラーの文字列バッファにない位置が渡されたときに発生します. これはバグっている XS コードによって引き起こされ, ここからの 修復は出来ません. This new fatal error occurs when the C routine Perl_sv_chop() was passed a position that is not within the scalar's string buffer. This is caused by buggy XS code, and at this point recovery is not possible.

Maximal count of pending signals (%s) exceeded

この新しい致命的なエラーは perl プロセスが 待機中のシグナルが増えすぎて, これは perl がさらにくるシグナルを安全に処理できるようにしなければ ならなくてアボートする時に発生します. This new fatal error occurs when the perl process has to abort due to too many pending signals, which is bound to prevent perl from being able to handle further incoming signals safely.

panic: attempt to call %s in %s

この新しい致命的なエラーは ACL バージョンファイルテスト演算子が 現在のプラットフォームで提供されていない時に発生します. 早期のチェックでこれは発生しないはずです. This new fatal error occurs when the ACL version file test operator is used where it is not available on the current platform. Earlier checks mean that it should never be possible to get this.

FETCHSIZE returned a negative value

この新しいエラーはタイされた配列が負の数の要素を持つと主張したことを 示します. New error indicating that a tied array has claimed to have a negative number of elements.

Can't upgrade %s (%d) to %d

これまでの SV アップグレードコードからの内部エラーは少ない情報 Can't upgrade that kind of scalar しか返していませんでした. これは現在の内部タイプ及び要求された新しいタイプを報告します. Previously the internal error from the SV upgrade code was the less informative Can't upgrade that kind of scalar. It now reports the current internal type, and the new type requested.

%s argument is not a HASH or ARRAY element or a subroutine

誤った引数が exists に渡されたときに投げられるこのエラーは, "or a subroutine" を適切に含むようになりました. [RT #38955] This error, thrown if an invalid argument is provided to exists now correctly includes "or a subroutine". [RT #38955]

Cannot make the non-overridable builtin %s fatal

Fatal にあるこのエラーは以前は問い合わせにある組み込みの 名前を表示していませんでした(これは %s で出力されるようになります). This error in Fatal previously did not show the name of the builtin in question (now represented by %s above).

Unrecognized character '%s' in column %d

以前のこのエラーはカラムについて言及していませんでした. This error previously did not state the column.

Offset outside string

これは PerlIO::scalar を使っているファイルハンドルに対する seek でも生成されるようになりました. This can now also be generated by a seek on a file handle using PerlIO::scalar.

Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/

新しいエラー, 正規表現コメントの Unicode 文字のエンコーディング処理 RT #40641 の修正の一部として導入. New error, introduced as part of the fix to RT #40641 to handle encoding of Unicode characters in regular expression comments.

Your machine doesn't support dump/undump.

Win32 及び Cygwin において dump を呼び出したときに より情報を持った致命的なエラーとして発行されます. (dump の目的はコアダンプを生成してアボートすることで, これらのプラットフォームではコアダンプは生成されません, これは静かに終了するよりは役に立つでしょう.) A more informative fatal error issued when calling dump on Win32 and Cygwin. (Given that the purpose of dump is to abort with a core dump, and core dumps can't be produced on these platforms, this is more useful than silently exiting.)


内部処理の変更 Changed Internals

perl ソースは C コンパイラではなく C++ コンパイラでもコンパイルできように鳴りました. 必要な実装の詳細としては C++ では XSUB を定義するためにマクロ XSextern "C" 定義を含むようになりました. 副作用として, 次の構成子を使っている C++ コードにおいては, The perl sources can now be compiled with a C++ compiler instead of a C compiler. A necessary implementation details is that under C++, the macro XS used to define XSUBs now includes an extern "C" definition. A side effect of this is that C++ code that used the construction

    typedef XS(SwigPerlWrapper);

次のように書き換える必要があります now needs to be written

    typedef XSPROTO(SwigPerlWrapper);

こちらはコンパイルのために XSPROTO マクロを使っています. C 拡張には影響はありませんが, C 拡張でも XSPROTO を使うように したほうがよいでしょう. この変更は perl の 5.10.0 リリースで 提供されていて, そのためこの構成子を使っていた現在もメンテナンス されているコードはすでに修正されているでしょう. 変更する必要のあるコードの場合はコンパイル時にエラーとなります. using the new XSPROTO macro, in order to compile. C extensions are unaffected, although C extensions are encouraged to use XSPROTO too. This change was present in the 5.10.0 release of perl, so any actively maintained code that happened to use this construction should already have been adapted. Code that needs changing will fail with a compilation error.

localされている/代入されているmagic変数へのset magicは コンテナのmagicのみ起動されるようになります, すなわち, $#array ではなく %ENV 若しくは %SIG になります. set magic on localizing/assigning to a magic variable will now only trigger for container magics, i.e. it will for %ENV or %SIG but not for $#array.

新しい API マクロ newSVpvs()newSVpvn("ISA", 3) といった 構築の代わりに使います. 単一の文字列定数を受け取り, C のコンパイル時にその長さが決定されます. The new API macro newSVpvs() can be used in place of constructions such as newSVpvn("ISA", 3). It takes a single string constant, and at C compile time determines its length.

新しい API 関数 Perl_newSV_type() は次の一般的な慣用句の より効率的な置き換えとして使えます The new API function Perl_newSV_type() can be used as a more efficient replacement of the common idiom

    sv = newSV(0);
    sv_upgrade(sv, type);

同じように Perl_newSVpvn_flags()Perl_newSVpv()Perl_sv_2mortal() 若しくは等価な Perl_sv_newmortal()Perl_sv_setpvn() の連結として使えます. Similarly Perl_newSVpvn_flags() can be used to combine Perl_newSVpv() with Perl_sv_2mortal() or the equivalent Perl_sv_newmortal() with Perl_sv_setpvn()

二つの新しいマクロ mPUSHs() 及び mXPUSHs() が追加されました, これらを使うことで mortal SV をスタックに簡単に積めるようになります. これらはスタックに積まれているけれど mortal 化されていない値に 関連するいくつかのバグを修正するのにも使えるでしょう. Two new macros mPUSHs() and mXPUSHs() are added, to make it easier to push mortal SVs onto the stack. They were then used to fix several bugs where values on the stack had not been mortalised.

Perl_signbit() 関数が NV の符号テストのために追加されました. これは有効であればシステムから提供されている物に対応します. A Perl_signbit() function was added to test the sign of an NV. It maps to the system one when available.

Perl_av_reify(), Perl_lex_end(), Perl_mod(), Perl_op_clear(), Perl_pop_return(), Perl_qerror(), Perl_setdefout(), Perl_vivify_defelem() 及び Perl_yylex() は拡張から見えるようになりました. これは Windows において Data::Alias が動作するために必要でした. Perl_av_reify(), Perl_lex_end(), Perl_mod(), Perl_op_clear(), Perl_pop_return(), Perl_qerror(), Perl_setdefout(), Perl_vivify_defelem() and Perl_yylex() are now visible to extensions. This was required to allow Data::Alias to work on Windows.

Perl_find_runcv() は perl コアの拡張から見えるようになりました. これは Sub::Current が Windows で動作するために必要でした. Perl_find_runcv() is now visible to perl core extensions. This was required to allow Sub::Current to work on Windows.

ptr_table* 関数がスレッドでない perl で提供されるようになりました. Storable はこれを利用します. ptr_table* functions are now available in unthreaded perl. Storable takes advantage of this.

内部で多くの小さなクリーンアップが施されました. 特に Perl_sv_upgrade() は出来るだけ単純化され, まっすぐのコードパス, 新しい本体の初期化のために複数の 一時変数から代入するのではなく memset() 及び memcpy() を 使うようになりました. これはアリーナ管理コードの単純か及び 重複除去の利点ももたらしました. There have been many small cleanups made to the internals. In particular, Perl_sv_upgrade() has been simplified considerably, with a straight-through code path that uses memset() and memcpy() to initialise the new body, rather than assignment via multiple temporary variables. It has also benefited from simplification and de-duplication of the arena management code.

コードベースにおける数多くの小さな改善が Coverity 静的コードアナライザ からの報告で施されました. A lot of small improvements in the code base were made due to reports from the Coverity static code analyzer.

Perl_gv_stashpv(), Perl_gv_stashpvn(), Perl_gv_stashsv() 関数の正しい使い方とドキュメント (最後のパラメータは 真偽値ではなくビットマスクです). Corrected use and documentation of Perl_gv_stashpv(), Perl_gv_stashpvn(), Perl_gv_stashsv() functions (last parameter is a bitmask, not boolean).

PERL_SYS_INIT, PERL_SYS_INIT3 及び PERL_SYS_TERM マクロは 関数へと変更されました. PERL_SYS_INIT, PERL_SYS_INIT3 and PERL_SYS_TERM macros have been changed into functions.

PERLSYS_TERM はコンテキストを必要としません. PerlIO_teardown() はコンテキスト無しに呼ばれます, そしてこの関数におけるデバッグ出力はそれがインタプリタが 提供されていることを必要とすしてそれは終了時としては 誤った要求であるため無効になりました. PERLSYS_TERM no longer requires a context. PerlIO_teardown() is now called without a context, and debugging output in this function has been disabled because that required that an interpreter was present, an invalid assumption at termination time.

バイナリ互換に影響する全てのコンパイル時のオプションは グローバル変数 (PL_bincompat_options)へと一緒にグループ化されました. All compile time options which affect binary compatibility have been grouped together into a global variable (PL_bincompat_options).

PERL_REVISION, PERL_VERSION 及び PERL_SUBVERSION の値は グローバル変数へと戻りました (そして従って共有 perl ライブラリにも 入ります). 加えて MULTIPLICITY においては, perl 実行形式は インタプリタ構造のサイズ(全体, そしてこのバージョン)を記録するように なりました. PL_bincompat_options と共にこれは 5.8.10 (及びそれ以降)に 対して共有 perl ライブラリと共にビルドされたときに main() で 共有ライブラリが本当にバイナリ互換かを検証して確認することを可能にします. The values of PERL_REVISION, PERL_VERSION and PERL_SUBVERSION are now baked into global variables (and hence into any shared perl library). Additionally under MULTIPLICITY, the perl executable now records the size of the interpreter structure (total, and for this version). Coupled with PL_bincompat_options this will allow 5.8.10 (and later), when compiled with a shared perl library, to perform sanity checks in main() to verify that the shared library is indeed binary compatible.

シンボリックリファレンスは NUL を埋め込めるようになりました. 新しい公開関数 Perl_get_cvn_flags() をその処理が必要であれば 拡張から使えるようになりました. Symbolic references can now have embedded NULs. The new public function Perl_get_cvn_flags() can be used in extensions if you have to handle them.

マクロの整理 Macro cleanups

コアのコード及び ext 内のXSコードのうち CPAN との二重生活でないものでは, PL_na, NEWSV(), Null(), Nullav, Nullcv, Nullhv, Nullhv etc 等のマクロを使わないようになりました. これらは新しいコードでは推奨されておらず, 特に PL_na は 小さなパフォーマンスへの打撃があります. The core code, and XS code in ext that is not dual-lived on CPAN, no longer uses the macros PL_na, NEWSV(), Null(), Nullav, Nullcv, Nullhv, Nullhv etc. Their use is discouraged in new code, particularly PL_na, which is a small performance hit.


新しいテスト New Tests

CPAN から更新された多くのモジュールが 新しいテストを組み込みました. いくつかのコアテストが追加されています: Many modules updated from CPAN incorporate new tests. Some core specific tests have been added:

ext/DynaLoader/t/DynaLoader.t

DynaLoader モジュールのテスト. Tests for the DynaLoader module.

t/comp/fold.t

実行時の定数たたみ込みのテスト. Tests for compile-time constant folding.

t/io/pvbm.t

内部タイプ PVBM 及び PVGV の相互動作に 例外がないことを確認する 5.10.0 から組み込まれたテスト. Tests incorporated from 5.10.0 which check that there is no unexpected interaction between the internal types PVBM and PVGV.

t/lib/proxy_constant_subs.t

新しい形式の定数関数のテスト. Tests for the new form of constant subroutines.

t/op/attrhand.t

Attribute::Handlers のテスト. Tests for Attribute::Handlers.

t/op/dbm.t

dbmopen のテスト. Tests for dbmopen.

t/op/inccode-tie.t

最初に @INC を tie した後に t/op/inccode.t の 全てのテストを呼び出し. Calls all tests in t/op/inccode.t after first tying @INC.

t/op/incfilter.t

@INC のコードリファレンスから帰ってきたソースフィルタのテスト. Tests for source filters returned from code references in @INC.

t/op/kill0.t

RT #30970 のテスト. Tests for RT #30970.

t/op/qrstack.t

RT #41484 のテスト. Tests for RT #41484.

t/op/qr.t

qr// 構築子のテスト. Tests for the qr// construct.

t/op/regexp_qr_embed.t

他の正規表現で構築された qr// のテスト. Tests for the qr// construct within another regexp.

t/op/regexp_qr.t

qr// 構築子のテスト. Tests for the qr// construct.

t/op/rxcode.t

RT #32840 のテスト. Tests for RT #32840.

t/op/studytied.t

tie されたスカラーにおける study のテスト. Tests for study on tied scalars.

t/op/substT.t

-T モードで実行時の subst のテスト. Tests for subst run under -T mode.

t/op/symbolcache.t

関数若しくはメソッドでなければならないスタッシュエントリにおける undef 及び delete のテスト. Tests for undef and delete on stash entries that are bound to subroutines or methods.

t/op/upgrade.t

Perl_sv_upgrade() のテスト. Tests for Perl_sv_upgrade().

t/mro/package_aliases.t

isa 及びパッケージエイリアスの MRO テスト. MRO tests for isa and package aliases.

t/pod/twice.t

Pod::Parser が二度呼ばれたときのテスト. Tests for calling Pod::Parser twice.

t/run/cloexec.t

ファイルディスクリプタの exec 経由での継承に関するテスト (close-on-exec). Tests for inheriting file descriptors across exec (close-on-exec).

t/uni/cache.t

UTF-8 キャッシュコードのテスト. Tests for the UTF-8 caching code.

t/uni/chr.t

Perl_pp_chr() がひっくり返らない奇妙なエンコーディングのテスト. Test that strange encodings do not upset Perl_pp_chr().

t/uni/greek.t

RT #40641 のテスト. Tests for RT #40641.

t/uni/latin2.t

RT #40641 のテスト. Tests for RT #40641.

t/uni/overload.t

オーバーロードされた値から Unicode を返すテスト. Tests for returning Unicode from overloaded values.

t/uni/tie.t

tie された変数から Unicode を返すテスト. Tests for returning Unicode from tied variables.


既知の問題 Known Problems

新しいバグはありません. There are no known new bugs.

けれども, 修正されたバグを利用していたプログラムは問題を抱える かもしれません. また, 5.10.0 で施されているバグ修正の多くは 5.8.x ブランチにはバックポート出来ません, なぜならその適用には バイナリ非互換を伴う若しくはその変更は長大で組み入れるにはリスクが高い ためです. However, programs that rely on bugs that have been fixed will have problems. Also, many bug fixes present in 5.10.0 can't be back-ported to the 5.8.x branch, because they require changes that are binary incompatible, or because the code changes are too large and hence too risky to incorporate.

私たちは制限のあるボランティア作業者のみであり, メンテナンスの労務はますます複雑になっています. 従って今回のリリースが 5.8.x シリーズにおける 最後の大きなリリースとなるでしょう. 5.8.x の今後のリリースは恐らくセキュリティに関する物か プラットフォームにおけるビルド不具合のみの対応となるでしょう. 従って 5.10.x への統合をまだ始めていないのなら考えるべきでしょう. 他の方法としてはビジネス要件が 5.8.x の継続を必要としているのなら, ActiveState といった法人からの商用サポートを望むかもしれません. We have only limited volunteer labour, and the maintenance burden is getting increasingly complex. Hence this will be the last significant release of the 5.8.x series. Any future releases of 5.8.x will likely only be to deal with security issues, and platform build failures. Hence you should look to migrating to 5.10.x, if you have not started already. Alternatively, if business requirements constrain you to continue to use 5.8.x, you may wish to consider commercial support from firms such as ActiveState.


プラットホーム固有の問題 Platform Specific Notes

Win32

readdir(), cwd(), $^X 及び @INC は 長い名前が現在のコードページ外だった場合に代用の(短い)ファイル名を 使います (Jan Dubois). readdir(), cwd(), $^X and @INC now use the alternate (short) filename if the long name is outside the current codepage (Jan Dubois).

更新されたモジュール Updated Modules

OS/2

更新されたモジュール Updated Modules

VMS

更新されたモジュール Updated Modules


訃報 Obituary

長い間 Perl ハッカーであり, Tk 及び Encode モジュール, コアにおける perlio.c の作者, そして 5.003_02 pumpking であった Nick Ing-Simmons は心臓発作により2006年9月25日にこの世を去りました. 彼の死は惜しまれます. Nick Ing-Simmons, long time Perl hacker, author of the Tk and Encode modules, perlio.c in the core, and 5.003_02 pumpking, died of a heart attack on 25th September 2006. He will be missed.


謝辞 Acknowledgements

このリリースにおけるいくつかの作業は TPF grant からの資金によります. Some of the work in this release was funded by a TPF grant.

Steve Hay はコアモジュールと, そのCPANリリースと, 前のコアリリースとの 違いを調べ, それらをただす最適解を探してくれました. でももう一度はやりたくないそうです. 今回私にかわってやってくれたことを とてもうれしく思います. Steve Hay worked behind the scenes working out the causes of the differences between core modules, their CPAN releases, and previous core releases, and the best way to rectify them. He doesn't want to do it again. I know this feeling, and I'm very glad he did it this time, instead of me.

Paul Fenwick は 18 のボランティアチームのとりまとめをして, このドキュメントを書いた後に解いてくれました. 特に, Bradley Dean, Eddy Tan そして Vincent Pit は チームの貢献の半分を提供してくれました. Paul Fenwick assembled a team of 18 volunteers, who broke the back of writing this document. In particular, Bradley Dean, Eddy Tan, and Vincent Pit provided half the team's contribution.

Schwern は更新されたモジュールのバージョンのリストを 検証してくれました, 間違って書かれていたモジュールのバージョンと リストに入っていなかったけれど変更されているモジュールといった いくつかの間違いを私(若しくは他の誰か)がいれてしまっていたようです. Schwern verified the list of updated module versions, correcting quite a few errors that I (and everyone else) had missed, both wrongly stated module versions, and changed modules that had not been listed.

Andreas König 及び Slaven Rezic の crack Berlin ベースのQAチームは休むことなくスナップショットを 更新し続け, それらの CPAN のほとんどをテストし, どのモジュールでのレグレッションテストをすべき変更かと特定し, 最初のリリース候補が出されるまでにいくつかの最悪なバグをつぶしてくれました. The crack Berlin-based QA team of Andreas König and Slaven Rezic tirelessly re-built snapshots, tested most everything CPAN against them, and then identified the changes responsible for any module regressions, ensuring that several show-stopper bugs were stomped before the first release candidate was cut.

他のコアコミッタも変更の多くを提供してくれ, AUTHORS に上げられている数多くの提供者から送られてきた パッチを適用してくれました. The other core committers contributed most of the changes, and applied most of the patches sent in by the hundreds of contributors listed in AUTHORS.

そして言うまでもないことですが, Larry Wall に, 彼無しには私たちは Perl をもてませんでした. And obviously, Larry Wall, without whom we wouldn't have Perl.


バグ報告 Reporting Bugs

もしバグと思われるものが見つかったら, comp.lang.perl.misc ニュース グループに最近投稿された記事や http://bugs.perl.org にある perl バグデータベースを確認してください. Perl ホームページ, http://www.perl.org にも情報はあります. 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 http://bugs.perl.org. There may also be information at http://www.perl.org, the Perl Home Page.

もしまだ報告されていないバグだと確信したら, そのリリースに含まれている perlbug プログラムをを実行してください. バグの再現スクリプトを 十分小さく, しかし有効なコードに切りつめることを意識してください. バグレポートは perl -V の出力と一緒に perlbug@perl.org に送られ Perl porting チームによって解析されます. Perl 5 のバグについては http://bugs.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. You can browse and search the Perl 5 bugs at http://bugs.perl.org/

報告しようとしているバグに, アーカイブの公開されているメーリングリストに 投稿するのは適切でないようなセキュリティ的な問題を含んでいるのなら, perl5-security-report@perl.org に送るようにしてください. これは参加者の閉じているアーカイブされていない, 報告の重大さを 判断する手助けをできるコアコミッタ全員を含んだ, 解決法を見いだすための, そして Perl のサポートしている全てのプラットフォームにまたがって その問題を和らげる若しくは解消するためのパッチのリリースを作る 手助けをするメーリングリストです. このアドレスは Perl コアのセキュリティ事象に関してのみ使うようにしてください, CPAN 上で独立して配布されているモジュール用ではありません. 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 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.


関連項目 SEE ALSO

Changes には完全な変更箇所があります. The Changes file for exhaustive details on what changed.

INSTALL には Perl をビルドする方法があります. The INSTALL file for how to build Perl.

README には一般的な事項があります. The README file for general stuff.

Artistic 及び Copying には著作権情報があります. The Artistic and Copying files for copyright information.


和訳 JAPANESE TRANSLATION

 山科 氷魚 (YAMASHINA Hio) <hio@hio.jp>

原典: perl VERSION 5.8.9. 翻訳日: 2008-12-15. Origlnal distribution is perl VERSION 5.8.9. Translated at 2008-12-15.

perldelta - perl v5.8.9 の新機能
perldelta - what is new for perl v5.8.9

索引 INDEX

perldelta - perl v5.8.9 の新機能
perldelta - what is new for perl v5.8.9