目次 TABLE OF CONTENTS
no VERSION
readpipe() がオーバーライド可能になりました
readpipe is now overridable
perldelta - perl v5.8.9 の新機能 perldelta - what is new for perl v5.8.9
このドキュメントでは 5.8.8 リリースと 5.8.9 リリースとでの相異点を 説明します. This document describes differences between the 5.8.8 release and the 5.8.9 release.
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.
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.
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演算を
行えるようになりました. ディレクトリ及びファイルハンドルが共に
ベアワードだった場合には, どちらになるかはあいまいです.
その様なときにはファイルハンドルとしての動作が優先されます.
どちらでも *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 での関数によるフックの メカニズムを強化できるようになりました. この機能は長い間予定は立てられていましたが, これまでは実装されていませんでした. 詳細は 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)
定数畳み込み処理が例外ハンドラに補足されるようになり, 畳み込み時に例外が投げられた場合には(例えば 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 バイトオフセット のキャッシュを行うコードが書き直されました. いくつかのバグは落ち着き削除され, そしてコードはそこに持っている情報をより良く, そして高速に使えるように なりました. 特に, 文字列のオフセットを計算する前に 文字列の最後まで計算しないために, 長い文字列に於いて高速になりました. また実行時に疑わしい問題の原因かどうかを確認できるように, キャッシュ部分のコードを無効にできるようになりました. 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.
Configure は実行時に再配置可能な perl tree の設置をサポートしました. "再配置可能なインストール" を参照してください. There is now Configure support for creating a perl tree that is relocatable at run time. see "Relocatable installations".
${^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 ``).
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.
-Dq で -D 実行時における EXECUTING... メッセージを抑制できます.
-Dq suppresses the EXECUTING... message when running under -D
-Dl で内部命令におけるループの突入及び脱出, そしてジャンプレベルの pop を
ログに出すようになります.
-Dl logs runops loop entry and exit, and jump level popping.
-Dv でトレース出力の一部としてそのプロセスIDを表示するようになります.
-Dv displays the process id as part of the trace output.
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)
インタプリタは埋め込み可能な定数のよりもっとメモリ効率の良い形式を 内部的にサポートしました. シンボルテーブルに定数値へのリファレンスを 格納することは定数関数を参照する完全なタイプグロブと等価ですが, 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.
追加されたコンパイルサポート: Compile support added for:
DragonFlyBSD
MidnightBSD
MirOS BSD
RISC OS
Cray XT4/Catamount
Module::Pluggable はプラガブルなサブモジュールを受け付ける簡単な
フレームワークです. バンドルされたバージョンは 3.8 です.
Module::Pluggable is a simple framework to create modules that accept
pluggable sub-modules. The bundled version is 3.8
Module::CoreList は $] で示される perl バージョンを
キーとするハッシュのハッシュです. バンドルされたバージョンは 2.17 です.
Module::CoreList is a hash of hashes that is keyed on perl version as
indicated in $]. The bundled version is 2.17
Win32API::File は Microsoft Windows でコアに採用されました.
バンドルされたバージョンは 0.1001_01 です.
Win32API::File now available in core on Microsoft Windows. The bundled
version is 0.1001_01
Devel::InnerPackage は1つのファイル内で定義された全てのパッケージを
見つけ出します. これは Module::Pluggable 配布物の一部です.
バンドルされたバージョンは 0.3 です.
Devel::InnerPackage finds all the packages defined by a single file. It is
part of the Module::Pluggable distribution. The bundled version is 0.3
attributes は 0.09 へと更新されました.
attributes upgraded to version 0.09
AutoLoader は 5.67 へと更新されました.
AutoLoader upgraded to version 5.67
AutoSplit は 1.06 へと更新されました.
AutoSplit upgraded to 1.06
autouse は 1.06 へと更新されました.
autouse upgraded to version 1.06
B は 1.09_01 から 1.19 へと更新されました.
B upgraded from 1.09_01 to 1.19
新しい pad 関連の抽象マクロ B::NV::COP_SEQ_RANGE_LOW,
B::NV::COP_SEQ_RANGE_HIGH, B::NV::PARENT_PAD_INDEX,
B::NV::PARENT_FAKELEX_FLAGS が提供されました,
これらは 5.10.0 以降との格納方法の違いを隠します.
provides new pad related abstraction macros B::NV::COP_SEQ_RANGE_LOW,
B::NV::COP_SEQ_RANGE_HIGH, B::NV::PARENT_PAD_INDEX,
B::NV::PARENT_FAKELEX_FLAGS, which hides the difference in storage in
5.10.0 and later.
PL_sub_generation の為の B::sub_generation が提供されます.
provides B::sub_generation, which exposes PL_sub_generation
B::GV::isGV_with_GP が提供されます,
5.10 より前の perl では常に真を返します.
provides B::GV::isGV_with_GP, which on pre-5.10 perls always returns true.
新しい型 B::HE がメソッド VAL, HASH 及び SVKEY_force
と共に追加されました.
New type B::HE added with methods VAL, HASH and SVKEY_force
B::GVf_IMPORTED_CV フラグが proxy された定数関数がインポート
された際に正しくセットされるようになりました.
The B::GVf_IMPORTED_CV flag is now set correctly when a proxy
constant subroutine is imported.
PMOP の処理におけるバグが修正されました.
bugs fixed in the handling of PMOPs.
B::BM::PREVIOUS が U16 ではなく U32 を返すようになります.
B::CV::START 及び B:CV::ROOT は XSUB では NULL を返すようになります.
B::CV::XSUB 及び B::CV::XSUBANY は XSUB 以外では 0 を返します.
B::BM::PREVIOUS returns now U32, not U16.
B::CV::START and B:CV::ROOT return now NULL on an XSUB,
B::CV::XSUB and B::CV::XSUBANY return 0 on a non-XSUB.
B::C は 1.05 へと更新されました.
B::C upgraded to 1.05
B::Concise は 0.76 へと更新されました.
B::Concise upgraded to 0.76
新しいオプション -src は(nextstat OP からの)各文を,
それが生成されたソースコードでの最初の行を前置させて
表示させます.
new option -src causes the rendering of each statement (starting with
the nextstate OP) to be preceded by the first line of source code that
generates it.
新しいオプション -stash="somepackage",
"somepackage" を require し, その名前空間にある各関数を
表示します.
new option -stash="somepackage", requires "somepackage", and then renders
each function defined in its namespace.
ヒントシンボルの詳細に関するドキュメントが追加されました. now has documentation of detailed hint symbols.
B::Debug は 1.05 へと更新されました.
B::Debug upgraded to version 1.05
B::Deparse は 0.87 へと更新されました.
B::Deparse upgraded to version 0.87
print readpipe $x, $y を正しく再生成できるようになりました.
properly deparse print readpipe $x, $y.
''-()>, ::(), sub :: {}, 等. を正しく処理できるように
なりました [RT #43010].
これらに類似する構文のパースにおける全てのバグは修正されました.
now handles ''-()>, ::(), sub :: {}, etc. correctly [RT #43010].
All bugs in parsing these kinds of syntax are now fixed:
perl -MO=Deparse -e '"my %h = "->()'
perl -MO=Deparse -e '::->()'
perl -MO=Deparse -e 'sub :: {}'
perl -MO=Deparse -e 'package a; sub a::b::c {}'
perl -MO=Deparse -e 'sub the::main::road {}'
内部で自動的に設定される $^H{v_string} は deparse されません.
does not deparse $^H{v_string}, which is automatically set by the
internals.
B::Lint は 1.11 へと更新されました.
B::Lint upgraded to version 1.11
B::Terse は 1.05 へと更新されました.
B::Terse upgraded to version 1.05
base は 2.13 へと更新されました.
base upgraded to version 2.13
base.pm でのモジュールのロード時にはそのモジュールのグローバルな
$SIG{__DIE__} をマスクします.
loading a module via base.pm would mask a global $SIG{__DIE__} in that
module.
@ISA に全部のクラスを一度に push します.
push all classes at once in @ISA
Benchmark は 1.10 へと更新されました.
Benchmark upgraded to version 1.10
bigint は 0.23 へと更新されました.
bigint upgraded to 0.23
bignum は 0.23 へと更新されました.
bignum upgraded to 0.23
bigrat は 0.23 へと更新されました.
bigrat upgraded to 0.23
blib は 0.04 へと更新されました.
blib upgraded to 0.04
Carp は 1.10 へと更新されました.
Carp upgraded to version 1.10
引数のバックトレースコードは undef を文字列で "undef" と
する代わりに undef と表示します.
The argument backtrace code now shows undef as undef,
instead of a string "undef".
CGI は 3.42 へと更新されました.
CGI upgraded to version 3.42
charnames は 1.06 へと更新されました.
charnames upgraded to 1.06
constant は 1.17 へと更新されました.
constant upgraded to version 1.17
CPAN は 1.9301 へと更新されました.
CPAN upgraded to version 1.9301
Cwd は 3.29 へと, (VMSを含む)いくつかのプラットフォーム関係の
強化と共に更新されました.
Cwd upgraded to version 3.29 with some platform specific
improvements (including for VMS).
Data::Dumper は 2.121_17 へと更新されました.
Data::Dumper upgraded to version 2.121_17
pure Perl 版でハッシュイテレータの現在値を修正 [RT #40668] Fixes hash iterator current position with the pure Perl version [RT #40668]
パフォーマンスの強化, Win32 のように C の realloc() の
繰り返しの呼び出しが遅い環境で顕著になります.
Performance enhancements, which will be most evident on platforms where
repeated calls to C's realloc() are slow, such as Win32.
Benchmark は 1.817 へと更新されました.
DB_File upgraded to version 1.817
DB_Filter は 0.02 へと更新されました.
DB_Filter upgraded to version 0.02
Devel::DProf は 20080331.00 へと更新されました.
Devel::DProf upgraded to version 20080331.00
Devel::Peek は 1.04 へと更新されました.
Devel::Peek upgraded to version 1.04
Devel::PPPort は 3.14 へと更新されました.
Devel::PPPort upgraded to version 3.14
diagnostics は 1.16 へと更新されました.
diagnostics upgraded to version 1.16
Digest は 1.15 へと更新されました.
Digest upgraded to version 1.15
Digest::MD5 は 2.37 へと更新されました.
Digest::MD5 upgraded to version 2.37
DirHandle は 1.02 へと更新されました.
DirHandle upgraded to version 1.02
ディレクトリハンドルを閉じる際に
$., $@, $!, $^E, 及び $? を local するようになりました,
既に閉じられている時の警告の副作用が漏れるのを抑制します.
now localises $., $@, $!, $^E, and $? before closing the
directory handle to suppress leaking any side effects of warnings about it
already being closed.
DynaLoader は 1.09 へと更新されました.
DynaLoader upgraded to version 1.09
DynaLoader はデフォルトでないファイル拡張子を持ったファイルから
ローダブルオブジェクトをダイナミックにロードできるようになりました.
DynaLoader can now dynamically load a loadable object from a file with a
non-default file extension.
Encode は 2.26 へと更新されました.
Encode upgraded to version 2.26
Encode::ASCII は Solaris の "646" エンコーディング(ASCII として
よりよく知られています)に対する修正を含んでいます.
Encode::Alias includes a fix for encoding "646" on Solaris (better known as
ASCII).
English は 1.03 へと更新されました.
English upgraded to version 1.03
Errno は 1.10 へと更新されました.
Errno upgraded to version 1.10
Exporter は 5.63 へと更新されました.
Exporter upgraded to version 5.63
ExtUtils::Command は 1.15 へと更新されました.
ExtUtils::Command upgraded to version 1.15
ExtUtils::Constant は 0.21 へと更新されました.
ExtUtils::Constant upgraded to version 0.21
Embed::Embed は 1.28 へと更新されました.
ExtUtils::Embed upgraded to version 1.28
ExtUtils::Install は 1.50_01 へと更新されました.
ExtUtils::Install upgraded to version 1.50_01
ExtUtils::Installed は 1.43 へと更新されました.
ExtUtils::Installed upgraded to version 1.43
ExtUtils::MakeMaker は 6.48 へと更新されました.
ExtUtils::MakeMaker upgraded to version 6.48
INSTALLSITESCRIPT 及び INSTALLVENDORSCRIPT 設定のサポート.
support for INSTALLSITESCRIPT and INSTALLVENDORSCRIPT
configuration.
ExtUtils::Manifest は 1.55 へと更新されました.
ExtUtils::Manifest upgraded to version 1.55
ExtUtils::ParseXS は 2.19 へと更新されました.
ExtUtils::ParseXS upgraded to version 2.19
Fatal は 1.06 へと更新されました.
Fatal upgraded to version 1.06
CORE::GLOBAL にあるビルトインを fatal にさせれるように.
allows built-ins in CORE::GLOBAL to be made fatal.
Fcntl は 1.06 へと更新されました.
Fcntl upgraded to version 1.06
fields は 2.12 へと更新されました.
fields upgraded to version 2.12
File::Basename は 2.77 へと更新されました.
File::Basename upgraded to version 2.77
FileCache は 1.07 へと更新されました.
FileCache upgraded to version 1.07
File::Compare は 1.1005 へと更新されました.
File::Compare upgraded to 1.1005
File::Copy は 2.13 へと更新されました.
File::Copy upgraded to 2.13
3-引数 open を使うようになりました. now uses 3-arg open.
File::DosGlob は 1.01 へと更新されました.
File::DosGlob upgraded to 1.01
File::Find は 1.13 へと更新されました.
File::Find upgraded to version 1.13
File::Glob は 1.06 へと更新されました.
File::Glob upgraded to version 1.06
ブレース内のブラケットに対して誤った結果を返すバグが修正されました. fixes spurious results with brackets inside braces.
File::Path は 2.07_02 へと更新されました.
File::Path upgraded to version 2.07_02
File::Spec は 3.29 へと更新されました.
File::Spec upgraded to version 3.29
誤った引数の処理の改善. improved handling of bad arguments.
(VMS 及び Cygwin を含む)いくつかのプラットフォーム関係の改善,
共に相対な引数を処理する際の abs2rel の最適化.
some platform specific improvements (including for VMS and Cygwin), with
an optimisation on abs2rel when handling both relative arguments.
File::stat は 1.01 へと更新されました.
File::stat upgraded to version 1.01
File::Temp は 0.20 へと更新されました.
File::Temp upgraded to version 0.20
filetest は 1.02 へと更新されました.
filetest upgraded to version 1.02
Filter::Util::Call は 1.07 へと更新されました.
Filter::Util::Call upgraded to version 1.07
Filter::Simple は 0.83 へと更新されました.
Filter::Simple upgraded to version 0.83
FindBin は 1.49 へと更新されました.
FindBin upgraded to version 1.49
GDBM_File は 1.09 へと更新されました.
GDBM_File upgraded to version 1.09
Getopt::Long は 2.37 へと更新されました.
Getopt::Long upgraded to version 2.37
Getopt::Std は 1.06 へと更新されました.
Getopt::Std upgraded to version 1.06
Hash::Util は 0.06 へと更新されました.
Hash::Util upgraded to version 0.06
if は 0.05 へと更新されました.
if upgraded to version 0.05
IO は 1.23 へと更新されました.
IO upgraded to version 1.23
IO::Socket での getpeername 呼び出し回数の削減.
Reduced number of calls to getpeername in IO::Socket
IPC::Open は 1.03 へと更新されました.
IPC::Open upgraded to version 1.03
IPC::Open3 は 1.03 へと更新されました.
IPC::Open3 upgraded to version 1.03
IPC::SysV は 2.00 へと更新されました.
IPC::SysV upgraded to version 2.00
lib は 0.61 へと更新されました.
lib upgraded to version 0.61
.par ファイルロードに関する警告の抑制. avoid warning about loading .par files.
libnet は 1.22 へと更新されました.
libnet upgraded to version 1.22
List::Util は 1.19 へと更新されました.
List::Util upgraded to 1.19
Locale::Maketext は 1.13 へと更新されました.
Locale::Maketext upgraded to 1.13
Math::BigFloat は 1.60 へと更新されました.
Math::BigFloat upgraded to version 1.60
Math::BigInt は 1.89 へと更新されました.
Math::BigInt upgraded to version 1.89
Math::BigRat は 0.22 へと更新されました.
Math::BigRat upgraded to version 0.22
新しいメソッド as_float の実装.
implements new as_float method.
Math::Complex は 1.54. へと更新されました.
Math::Complex upgraded to version 1.54.
Math::Trig は 1.18. へと更新されました.
Math::Trig upgraded to version 1.18.
NDBM_File は 1.07 へと更新されました.
NDBM_File upgraded to version 1.07
GDBM 互換ヘッダを使っているシステムでの g++ 処理の改善. improve g++ handling for systems using GDBM compatibility headers.
Net::Ping は 2.35 へと更新されました.
Net::Ping upgraded to version 2.35
NEXT は 0.61 へと更新されました.
NEXT upgraded to version 0.61
AUTOLOAD, eval ブロック, 及びオーバーロードされた文字列化で
NEXT を動作させた際のいつかのバグの修正.
fix several bugs with NEXT when working with AUTOLOAD, eval block, and
within overloaded stringification.
ODBM_File は 1.07 へと更新されました.
ODBM_File upgraded to 1.07
open は 1.06 へと更新されました.
open upgraded to 1.06
ops は 1.02 へと更新されました.
ops upgraded to 1.02
PerlIO::encoding は 0.11 へと更新されました.
PerlIO::encoding upgraded to version 0.11
PerlIO::scalar は 0.06 へと更新されました.
PerlIO::scalar upgraded to version 0.06
[RT #40267] PerlIO::scalar は readonly 状態を考えない // PerlIO::scalar doesn't respect readonly-ness.
[RT #40267] PerlIO::scalar doesn't respect readonly-ness.
PerlIO::via は 0.05 へと更新されました.
PerlIO::via upgraded to version 0.05
Pod::Html は 1.09 へと更新されました.
Pod::Html upgraded to version 1.09
Pod::Parser は 1.35 へと更新されました.
Pod::Parser upgraded to version 1.35
Pod::Usage は 1.35 へと更新されました.
Pod::Usage upgraded to version 1.35
POSIX は 1.15 へと更新されました.
POSIX upgraded to version 1.15
Fcntl と重複する POSIX 定数は, POSIX で
重複させるのではなく Fcntl からインポートされ再エクスポートされるように
なります.
POSIX constants that duplicate those in Fcntl are now imported from
Fcntl and re-exported, rather than being duplicated by POSIX
POSIX::remove は空のディレクトリを削除出来るようになりました.
POSIX::remove can remove empty directories.
POSIX::setlocale は複数回の呼び出しに安全になりました.
POSIX::setlocale safer to call multiple times.
POSIX::SigRt が追加されました, サポートされているシステムで
POSIX realtime signal 機能へのアクセスを提供します.
POSIX::SigRt added, which provides access to POSIX realtime signal
functionality on systems that support it.
re は 0.06_01 へと更新されました.
re upgraded to version 0.06_01
Safe は 2.16 へと更新されました.
Safe upgraded to version 2.16
Scalar::Util は 1.19 へと更新されました.
Scalar::Util upgraded to 1.19
SDBM_File は 1.06 へと更新されました.
SDBM_File upgraded to version 1.06
SelfLoader は 1.17 へと更新されました.
SelfLoader upgraded to version 1.17
Shell は 0.72 へと更新されました.
Shell upgraded to version 0.72
sigtrap は 1.04 へと更新されました.
sigtrap upgraded to version 1.04
Socket は 1.81 へと更新されました.
Socket upgraded to version 1.81
これは gethostbyname の楽観的な使い方を修正します.
this fixes an optimistic use of gethostbyname
Storable は 2.19 へと更新されました.
Storable upgraded to 2.19
Switch は 2.13 へと更新されました.
Switch upgraded to version 2.13
Sys::Syslog は 0.27 へと更新されました.
Sys::Syslog upgraded to version 0.27
Term::ANSIColor は 1.12 へと更新されました.
Term::ANSIColor upgraded to version 1.12
Term::Cap は 1.12 へと更新されました.
Term::Cap upgraded to version 1.12
Term::ReadLine は 1.03 へと更新されました.
Term::ReadLine upgraded to version 1.03
Test::Builder は 0.80 へと更新されました.
Test::Builder upgraded to version 0.80
Test::Harness は 2.64 へと更新されました.
Test::Harness upgraded version to 2.64
newline を処理できるようになりました. this makes it able to handle newlines.
Test::More は 0.80 へと更新されました.
Test::More upgraded to version 0.80
Test::Simple は 0.80 へと更新されました.
Test::Simple upgraded to version 0.80
Text::Balanced は 1.98 へと更新されました.
Text::Balanced upgraded to version 1.98
Text::ParseWords は 3.27 へと更新されました.
Text::ParseWords upgraded to version 3.27
Text::Soundex は 3.03 へと更新されました.
Text::Soundex upgraded to version 3.03
Text::Tabs は 2007.1117 へと更新されました.
Text::Tabs upgraded to version 2007.1117
Text::Wrap は 2006.1117 へと更新されました.
Text::Wrap upgraded to version 2006.1117
Thread は 2.01 へと更新されました.
Thread upgraded to version 2.01
Thread::Semaphore は 2.09 へと更新されました.
Thread::Semaphore upgraded to version 2.09
Thread::Queue は 2.11 へと更新されました.
Thread::Queue upgraded to version 2.11
複雑な構造(例えばハッシュのハッシュ)をキューに追加できるようになりました. added capability to add complex structures (e.g., hash of hashes) to queues.
一回で複数個取り出せるようになりました. added capability to dequeue multiple items at once.
キューを監視及び操作する新しいメソッドが追加されました: peek,
insert 及び extract.
added new methods to inspect and manipulate queues: peek, insert and
extract
Tie::Handle は 4.2 へと更新されました.
Tie::Handle upgraded to version 4.2
Tie::Hash は 1.03 へと更新されました.
Tie::Hash upgraded to version 1.03
Tie::Memoize は 1.1 へと更新されました.
Tie::Memoize upgraded to version 1.1
Tie::Memoize::EXISTS はその結果を正しくキャッシュするようになりました.
Tie::Memoize::EXISTS now correctly caches its results.
Tie::RefHash は 1.38 へと更新されました.
Tie::RefHash upgraded to version 1.38
Tie::Scalar は 1.01 へと更新されました.
Tie::Scalar upgraded to version 1.01
Tie::StdHandle は 4.2 へと更新されました.
Tie::StdHandle upgraded to version 4.2
Time::gmtime は 1.03 へと更新されました.
Time::gmtime upgraded to version 1.03
Time::Local は 1.1901 へと更新されました.
Time::Local upgraded to version 1.1901
Time::HiRes は 1.9715 へと更新されました,
様々な(VMSを含む)ビルドの改善及び雑多な(HP-UX 11 ia64を含む)
プラットフォーム関係のバグ修正.
Time::HiRes upgraded to version 1.9715 with various build improvements
(including VMS) and minor platform-specific bug fixes (including
for HP-UX 11 ia64).
threads は 1.71 へと更新されました.
threads upgraded to 1.71
新しいスレッド状態情報メソッド: is_running, is_detached 及び
is_joinable. list メソッドは実行中若しくはjoin可能なスレッドを
返すように強化されました.
new thread state information methods: is_running, is_detached
and is_joinable. list method enhanced to return running or joinable
threads.
新しいスレッドシグナルメソッド: kill
new thread signal method: kill
スレッドスタックサイズを指定する機能を追加. added capability to specify thread stack size.
スレッド終了時の振る舞いを制御する機能の追加. 新しく exit メソッドを
追加.
added capability to control thread exiting behavior. Added a new exit
method.
threads::shared は 1.27 へと更新されました.
threads::shared upgraded to version 1.27
1つの内部構造及び回り道の削減により軽量化及び高速化. smaller and faster implementation that eliminates one internal structure and the consequent level of indirection.
ユーザロックはより安全に格納されるように. user locks are now stored in a safer manner.
新しい関数 shared_clone は共有されている物はそのまま,
共有されていない物は深く複製してオブジェクトのコピーを作ります.
new function shared_clone creates a copy of an object leaving
shared elements as-is and deep-cloning non-shared elements.
is_shared メソッドが追加されました.
added new is_shared method.
Unicode::Normalize は 1.02 へと更新されました.
Unicode::Normalize upgraded to version 1.02
Unicode::UCD は 0.25 へと更新されました.
Unicode::UCD upgraded to version 0.25
warnings は 1.05_01 へと更新されました.
warnings upgraded to version 1.05_01
Win32 は 0.38 へと更新されました.
Win32 upgraded to version 0.38
新しい GetCurrentProcessId 関数が追加されました,
これは現在のプロセスに対する 正規の Windows プロセス識別子を,
fork 先で呼ばれていても返します.
added new function GetCurrentProcessId which returns the regular Windows
process identifier of the current process, even when called from within a fork.
XSLoader は 0.10 へと更新されました.
XSLoader upgraded to version 0.10
XS::APItest 及び XS::Typemap は内部用のみで,
従ってインストールされなくなります. 多くのテストが XS::APItest
に追加されました.
XS::APItest and XS::Typemap are for internal use only and hence
no longer installed. Many more tests have been added to XS::APItest.
Andreas König はデバッガの履歴を保存及び読み込む2つの機能を 提供してくれました. Andreas König contributed two functions to save and load the debugger history.
デバッガ内でも NEXT::AUTOLOAD が警告を出さなくなりました.
NEXT::AUTOLOAD no longer emits warnings under the debugger.
プログラムが fork したときに OS X 10.5 及び VMS において
tty デバイスを適切に探すようになりました.
The debugger should now correctly find tty the device on OS X 10.5 and VMS
when the program forks.
デバッガ内でも LVALUE 関数が動作するようになりました. LVALUE subs now work inside the debugger.
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 はコア以外のモジュールの報告かをチェックし, 代わりにそれを CPAN author に送るかどうかを提案します. perlbug now checks if you're reporting about a non-core module and suggests you report it to the CPAN author instead.
空の文字列を定数として定義しない [RT #25366] won't define an empty string as a constant [RT #25366]
h2xs -X の例.
has examples for h2xs -X
#include 文での "" 及び <> クオートの
違いを区別するようになります.
now attempts to deal sensibly with the difference in path implications
between "" and <> quoting in #include statements.
#if defined A || defined B に対するちゃんと正しいコードを
生成します [RT #39130]
now generates correct correct code for #if defined A || defined B
[RT #39130]
いつものように, このドキュメントは訂正, 明確化及びその他の 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.
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.
caller 及び pop における節を修正しました.
Documentation is fixed in section caller and pop.
alarm 関数で select よりも Time::HiRes::ualarm を
言及するようになりました.
Function alarm now mentions Time::HiRes::ualarm in preference
to select.
-X の優先順位で, ファイルテスト演算子は単項演算子と同一だけれど
パース及び括弧を考慮しません (Eirik Berg Hanssen の発見).
Regarding precedence in -X, filetest operators are the same as unary
operators, but not regarding parsing and parentheses (spotted by Eirik Berg
Hanssen).
reverse [CPAN] 関数はスカラーコンテキストでの例を説明. reverse [CPAN] function documentation received scalar context examples.
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.
perl 5.000 からのデフォルトでは全ての新しいタイプグロブに空の文字列を
作成します. レキシカル変数の使用の増加は, これらのほとんどが
現在では使われていないことを意味します. Nicholas Clark の努力によって,
Perl は -DPERL_DONT_CREATE_GVSV と共にコンパイルすることでこれら
空のスカラーを生成することを回避することが出来るようになりました.
これは全ての設定の為に確保されるスカラーの数や ithread の生成のために
コピーされる必要のあるスカラーの数を大きく減少させます.
このオプションは既存のインストールされている perl とバイナリ互換がありますが,
これは長く置くことの出来ていた内部の前提を変えることになります,
従ってデフォルトでは有効にされていません, サードパティ性のコードが
この古い振る舞いに依存しているかもしれないからです.
The default since perl 5.000 has been for perl to create an empty scalar
with every new typeglob. The increased use of lexical variables means that
most are now unused. Thanks to Nicholas Clark's efforts, Perl can now be
compiled with -DPERL_DONT_CREATE_GVSV to avoid creating these empty scalars.
This will significantly decrease the number of scalars allocated for all
configurations, and the number of scalars that need to be copied for ithread
creation. Whilst this option is binary compatible with existing perl
installations, it does change a long-standing assumption about the
internals, hence it is not enabled by default, as some third party code may
rely on the old behaviour.
私たちはこの設定をperlの新しい設置で試してみて, 特にマルチスレッドサーバ において全てのサードパーティコードがこれと互換性があることを 確認してみることを推奨します, この設定は有益なパフォーマンスの向上を 得ることが出来るでしょう. 既に設置されているものでは設置前に テストを行っているのでなければこの設定に変えることは推奨されません. We would recommend testing with this configuration on new deployments of perl, particularly for multi-threaded servers, to see whether all third party code is compatible with it, as this configuration may give useful performance improvements. For existing installations we would not recommend changing to this configuration unless thorough testing is performed before deployment.
diagnostics は $& を使わなくなりました,
この結果これを使っている全てのコードでの正規表現マッチは
大きく高速になります.
diagnostics no longer uses $&, which results in large speedups
for regexp matching in all code using it.
正規表現の単一文字クラスはその文字がリテラルとして 使われているのと同じように扱われるようになりました, つまり, エスケープ機構として文字クラスを使っているコードは スピードアップしたように見えます. (Yves Orton) Regular expressions classes of a single character are now treated the same as if the character had been used as a literal, meaning that code that uses char-classes as an escaping mechanism will see a speedup. (Yves Orton)
無名の配列及びハッシュのリファレンスの生成(つまり [] 及び {})は
無名のリストもしくはハッシュを生成するより多くのオーバーヘッドは負わなく
なりました. Nicholas Clark は2つのopと1つのスタックプッシュを削減する
変更を提供し, これによってこれらの処理でおおよそ 5% の改善がみられました.
Creating anonymous array and hash references (ie. [] and {}) now incurs
no more overhead than creating an anonymous list or hash. Nicholas Clark
provided changes with a saving of two ops and one stack push, which was measured
as a slightly better than 5% improvement for these operations.
多くの strlen() 呼び出しは削減されました,
長さは既に分かっている若しくは長さを渡すAPIの導入若しくは強化によって
などによります.
これは my_sprintf() ラッパの導入にも助けられています,
これは正しい C89 での値を返します - つまりフォーマットされた文字列の長さ.
これまでは sprintf() の復帰値に頼っていませんでした,
なぜならいくつかの古いけれどまだ存在しているプラットフォームで
char *を返す物があります.
Many calls to strlen() have been eliminated, either because the length was
already known, or by adopting or enhancing APIs that pass lengths. This has
been aided by the adoption of a my_sprintf() wrapper, which returns the
correct C89 value - the length of the formatted string. Previously we could
not rely on the return value of sprintf(), because on some ancient but
extant platforms it still returns char *.
index は検索文字列が UTF-8 で格納されているけれど Latin-1 の範囲しか
含んでいないときに高速になりました.
index is now faster if the search string is stored in UTF-8 but only contains
characters in the Latin-1 range.
正規表現エンジン内の Unicode swatch キャッシュが使われるように なりました. (初期実装からの提供では探索はキーの不一致がありました). [RT #42839] The Unicode swatch cache inside the regexp engine is now used. (the lookup had a key mismatch, present since the initial implementation). [RT #42839]
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.
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_pseudofork が Configure に追加され,
これは 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.
平行 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).
installman は -Duserelocatableinc 及び DESTDIR と共に
動作するようになりました.
installman now works with -Duserelocatableinc and DESTDIR.
installperl か以下の物をインストールしなくなりました: installperl no longer installs:
共有 perl ライブラリが使われたときのスタティックにリンクされた拡張のスタティックライブラリファイル. (これは不要ではありません. 後述の "Windows" 参照.) static library files of statically linked extensions when a shared perl library is being used. (They are not needed. See "Windows" below).
SIGNATURE 及び PAUSE*.pub (CPAN ファイル) SIGNATURE and PAUSE*.pub (CPAN files)
NOTES 及び PATCHING (ExtUtils ファイル) NOTES and PATCHING (ExtUtils files)
perlld 及び ld2 (Cygwin ファイル) perlld and ld2 (Cygwin files)
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.
メインの整数型として long long を使う際に -std=c89 及び
-ansi を落とすように,
FreeBSD 6.2 以外(及び恐らくそれ以外のリリース)で,
システムヘッダが perl に必要な機能を宣言しない.
Drop -std=c89 and -ansi if using long long as the main integral type,
else in FreeBSD 6.2 (and perhaps other releases), system headers do not
declare some functions required by perl.
Solaris 10 以降で, バージョン付きの共有ライブラリを必要としない,
なぜならこれらはしばしばプライベート使用のみのライブラリを意味する.
この問題は SUNWbdb [CPAN] (Berkeley DB)がインストールされているときに
発生する. 従って, Solaris 10 が検出されると ignore_versioned_solibs=y
が設定される.
Starting with Solaris 10, we do not want versioned shared libraries, because
those often indicate a private use only library. These problems could often
be triggered when SUNWbdb [CPAN] (Berkeley DB) was installed. Hence if Solaris 10
is detected set ignore_versioned_solibs=y.
OpenVMS I64 では IEEE math が選択されていないのを許す (けれどもデフォルトでは残す). Allow IEEE math to be deselected on OpenVMS I64 (but it remains the default).
IEEE 使用法を config.h に記録.
Record IEEE usage in config.h
munchconfig.exe を構築するときに ccflags を使うことで
古い VMS コンパイラを手助け.
Help older VMS compilers by using ccflags when building munchconfig.exe.
-Duseithreads が選択されたときには VMS では 古い Thread 拡張を
ビルドしない.
Don't try to build old Thread extension on VMS when -Duseithreads has
been chosen.
"NaN" の生文字列を nawk に渡すとコアダンプする - なので この文字列は "*NaN*" に変更. Passing a raw string of "NaN" to nawk causes a core dump - so the string has been changed to "*NaN*"
t/op/stat.t テストはサポートされていれば VMS で ハードリンクのテストを行う. t/op/stat.t tests will now test hard links on VMS if they are supported.
共有 perl ライブラリを使うとき installperl は (スタティックにリンクされた拡張の) スタティックリンクライブラリ, インポートライブラリ及び エクスポートライブラリ, 及び(ダイナミックにリンクされた格納の) 空のbootstrapファイルをインストールしなくなりました. この修正はデバッグビルドされた perl で Win32 上で PAR-Packer を 日津呂する問題を修正します. When using a shared perl library installperl no longer installs static library files, import library files and export library files (of statically linked extensions) and empty bootstrap files (of dynamically linked extensions). This fixes a problem building PAR-Packer on Win32 with a debug build of perl.
様々な win32 ビルドプロセスの改善, Visual C++ 2005 Express Edition (aka Visual C++ 8.x)のサポートを含む. Various improvements to the win32 build process, including support for Visual C++ 2005 Express Edition (aka Visual C++ 8.x).
perl.exe は MinGW や Borland でビルドされてもアイコンを 持ちます. perl.exe will now have an icon if built with MinGW or Borland.
perl-static.exe ビルドプロセスの改善. Improvements to the perl-static.exe build process.
Win32 makefile に全ての拡張をスタティックにリンクする オプションを追加. Add Win32 makefile option to link all extensions statically.
WinCE ディレクトリは Win32 ディレクトリにマージされました. The WinCE directory has been merged into the Win32 directory.
setlocale テストは Windows XP 以降で再度有効になりました.
setlocale tests have been re-enabled for Windows XP onwards.
内部 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 が 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
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].
内部的には, 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.
字句解析器は =cute (及び =cut から始まるその他の単語)を
=cut の同名とはみなさなくなりました.
The tokenizer no longer treats =cute (and other words beginning
with =cut) as a synonym for =cut.
CORE::require 呼び出し
Calling CORE::require
CORE::require 及び CORE::do はそれらが
オーバーライドされていると常に require 及び do として
扱われていました. これは修正されました.
CORE::require and CORE::do were always parsed as require and do
when they were overridden. This is now fixed.
長い /etc/groups エントリにおけるメモリリークは止まりました. Stopped memory leak on long /etc/groups entries.
while (my $x ...) { ...; redo } は undef $x すべきでない.
while (my $x ...) { ...; redo } shouldn't undef $x.
while(), until(), 若しくは for(;;) ループの
条件節における my の存在によって,
本体に余分にスコープを挟むようになりました,
つまり redo はレキシカルを undef しません.
In the presence of my in the conditional of a while(), until(),
or for(;;) loop, we now add an extra scope to the body so that redo
doesn't undef the lexical.
encoding プラグマは LC_ALL 及び LANG 環境変数で
@ 文字に続く部分を正しく無視するようになりました. [RT # 49646]
The encoding pragma now correctly ignores anything following an @
character in the LC_ALL and LANG environment variables. [RT # 49646]
いくつかの gcc 3.3 最適化でみられる segfault は修正されました. A segfault observed with some gcc 3.3 optimisations is resolved.
unpack をスカラーコンテキストで () グループと共に使った際に
segfault することがあるのは修正されました. [RT #50256]
A possible segfault when unpack used in scalar context with () groups
is resolved. [RT #50256]
$! が system コールを中断させるシグナルハンドラで
変更されることがあるのは修正されました.
Resolved issue where $! could be changed by a signal handler interrupting
a system call.
バグ修正 RT #37886 , use strict 'refs' の影響下であっても
defined の引数ではシンボリックデリファレンスが許可されている.
Fixed bug RT #37886, symbolic dereferencing was allowed in the argument of
defined even under the influence of use strict 'refs'.
バグ修正 RT #43207, sort 内の lc/uc が復帰値に影響する
Fixed bug RT #43207, where lc/uc inside sort affected the return
value.
バグ修正 RT #45607, *{"BONK"} = \&{"BONK"} が正しく動作しない.
Fixed bug RT #45607, where *{"BONK"} = \&{"BONK"} didn't work correctly.
バグ修正 RT #35878, goto &xsub で呼び出された XSUB での croak は perl の内部状態を壊す.
Fixed bug RT #35878, croaking from a XSUB called via goto &xsub corrupts perl
internals.
バグ修正 RT #32539, DynaLoader.o は DynaLoader を perl 実行形式にスタティックリンクする必要があるのを回避するために libperl.so に移動しました. この libperl.so は 実行するのに機能する埋め込み perl インタプリタを選るのに必要な全てが 提供されています. Fixed bug RT #32539, DynaLoader.o is moved into libperl.so to avoid the need to statically link DynaLoader into the stub perl executable. With this libperl.so provides everything needed to get a functional embedded perl interpreter to run.
バグ修正 RT #36267 対されたハッシュへの代入は元になっているハッシュ を変更しない. Fix bug RT #36267 so that assigning to a tied hash doesn't change the underlying hash.
バグ修正 RT #6006, 大きな置き換え変数を使っている正規表現置換が
時々失敗しする, つまり 置換に単なる $10 ではなく ${10}
(ブラケットに注意)のようなものが含まれているとき.
Fix bug RT #6006, regexp replaces using large replacement variables
fail some of the time, i.e. when substitution contains something
like ${10} (note the bracket) instead of just $10.
バグ修正 RT #45053, Perl_newCONSTSUB() はスレッドセーフに.
Fix bug RT #45053, Perl_newCONSTSUB() is now thread safe.
64 bit ビルドにおける様々な改善. Various improvements to 64 bit builds.
PerlIOStdio_close() における競合状態を回避するために mutex 保護を追加.
この修正がスレッドテストでの free.t 及び blocks.t の
失敗を改善することを望む.
Mutex protection added in PerlIOStdio_close() to avoid race conditions.
Hopefully this fixes failures in the threads tests free.t and blocks.t.
デバッガで fork された端末の対応を追加, ウィンドウタイトルの更新機能と共に. Added forked terminal support to the debugger, with the ability to update the window title.
USE_MULTI 及び USE_ITHREADS が指定されているけれど
USE_IMP_SYS がないときのビルドの問題が修正されました.
A build problem with specifying USE_MULTI and USE_ITHREADS but without
USE_IMP_SYS has been fixed.
OS2::REXX は 1.04 へと更新されました.
OS2::REXX upgraded to version 1.04
cc 及び gcc において浮動小数点をアライメントするビルドポリシー. Aligned floating point build policies for cc and gcc.
RH7.2 用の 5.6.1 から Intel の icc 用に再パッチ,
[RT #7916], $Config{gccversion} の追加確認を追加.
Revisited a patch from 5.6.1 for RH7.2 for Intel's icc [RT #7916], added an
additional check for $Config{gccversion}.
64 bit 整数を使う際に -DPTR_IS_LONG を使うように.
Use -DPTR_IS_LONG when using 64 bit integers
PerlIO::Scalar メモリ内ファイルレコードスタイル読込の修正.
Fixed PerlIO::Scalar in-memory file record-style reads.
プロセス終了時のパイプ切断をより強靱に. pipe shutdown at process exit should now be more robust.
Test::Harness 2.64 における VMS exit 処理のバグは修正されました.
Bugs in VMS exit handling tickled by Test::Harness 2.64 have been fixed.
configure.com での fcntl() ロック capability テストの修正.
Fix fcntl() locking capability test in configure.com.
VMS において shrplib='define' を useshrplib='true' に置き換え.
Replaced shrplib='define' with useshrplib='true' on VMS.
File::Find は対象ディレクトリが生ドライブレターで
no_chdir が 1 (デフォルトは 0)の時に失敗している. [RT #41555]
File::Find used to fail when the target directory is a bare drive letter and
no_chdir is 1 (the default is 0). [RT #41555]
USE_MULTI 及び USE_ITHREADS が指定されているけれど
USE_IMP_SYS がないときのビルドの問題が修正されました.
A build problem with specifying USE_MULTI and USE_ITHREADS but without
USE_IMP_SYS has been fixed.
いくつかの Windows プラットフォームにおいてプロセスIDが 16 bit に 切り詰められないように. ( http://bugs.activestate.com/show_bug.cgi?id=72443 ) The process id is no longer truncated to 16 bits on some Windows platforms ( http://bugs.activestate.com/show_bug.cgi?id=72443 )
バグ修正 RT #54828 perlio.c において Win32 及び Cygwin で
binmode 呼び出しが segmentation fault することがある.
Fixed bug RT #54828 in perlio.c where calling binmode on Win32 and Cgywin
may cause a segmentation fault.
eq を nomethod を使ってオーバーロード出来るように.
It is now possible to overload eq when using nomethod.
64 bit 整数で overload を使った際の様々な問題は訂正されました.
Various problems using overload with 64 bit integers corrected.
PerlIO ファイルディスクリプタのリファレンスカウントが
正しく処理されるように.
The reference count of PerlIO file descriptors is now correctly handled.
VMS において, UNIX 構文に変換するする際 エスケープされたドットは残すように. On VMS, escaped dots will be preserved when converted to UNIX syntax.
keys %+ が 'ambiguous' 警告を投げないように.
keys %+ no longer throws an 'ambiguous' warning.
#!perl -d がアサートをトリガーしていたのを修正.
Using #!perl -d could trigger an assertion, which has been fixed.
require 呼び出し時に @INC の tie されたコードリファレンスを
文字列化しないように.
Don't stringify tied code references in @INC when calling require.
@INC 内のコードリファレンスで __FILE__ が使われていたときに
正しい名前を報告するように修正.
Code references in @INC report the correct file name when __FILE__ is
used.
sprintf における幅及び精度が 255 文字以降を正しく処理できない [RT #40473] Width and precision in sprintf didn't handle characters above 255 correctly. [RT #40473]
範囲外を示すリストのスライスは一貫した動作をするように. [RT #39882] List slices with indices out of range now work more consistently. [RT #39882]
perl 5.8.1 での変更で #! における -s の -foo=bar
形式引数のパースがうまくできなくなっていた.
これは修正されました.
http://bugs.activestate.com/show_bug.cgi?id=43483 を参照してください.
A change introduced with perl 5.8.1 broke the parsing of arguments of the form
-foo=bar with the -s on the <#!> line. This has been fixed. See
http://bugs.activestate.com/show_bug.cgi?id=43483
tr/// はスレッドセーフになりました. これまでは swash を pad ではなく
OP に格納していました.
tr/// is now threadsafe. Previously it was storing a swash inside its OP,
rather than in a pad.
pod2html はアンカーに一貫性のとれたラベルをつけるようになり, ネストした定義リストをよりよく処理するように. pod2html labels anchors more consistently and handles nested definition lists better.
threads のクリーンアップ拒否は perl_free() 及び
perl_destruct() を含むように拡張されました.
threads cleanup veto has been extended to include perl_free() and
perl_destruct()
いくつかのシステムにおいて, $ENV{TZ} の変更が常に
localtime_r() に反映される訳ではない.
Perl はこれらのシステムにおいて環境の監視を強制するように.
On some systems, changes to $ENV{TZ} would not always be
respected by the underlying calls to localtime_r(). Perl now
forces the inspection of the environment on these systems.
特殊変数 $^R は (?{...}) 構成子を使っている正規表現を
実行しているときにより一貫して設定されるように. 特に,
バックリファレンスや任意のサブパターン (?:...)? が使われていても
設定されます.
The special variable $^R is now more consistently set when executing
regexps using the (?{...}) construct. In particular, it will still
be set even if backreferences or optional sub-patterns (?:...)? are
used.
この新しい致命的なエラーは 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.
この新しい致命的なエラーは 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.
この新しい致命的なエラーは 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.
この新しいエラーはタイされた配列が負の数の要素を持つと主張したことを 示します. New error indicating that a tied array has claimed to have a negative number of elements.
これまでの 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.
誤った引数が 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]
Fatal にあるこのエラーは以前は問い合わせにある組み込みの
名前を表示していませんでした(これは %s で出力されるようになります).
This error in Fatal previously did not show the name of the builtin in
question (now represented by %s above).
以前のこのエラーはカラムについて言及していませんでした. This error previously did not state the column.
これは PerlIO::scalar を使っているファイルハンドルに対する
seek でも生成されるようになりました.
This can now also be generated by a seek on a file handle using
PerlIO::scalar.
新しいエラー, 正規表現コメントの Unicode 文字のエンコーディング処理 RT #40641 の修正の一部として導入. New error, introduced as part of the fix to RT #40641 to handle encoding of Unicode characters in regular expression comments.
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.)
perl ソースは C コンパイラではなく C++ コンパイラでもコンパイルできように鳴りました.
必要な実装の詳細としては C++ では XSUB を定義するためにマクロ XS に
extern "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.
コアのコード及び 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.
CPAN から更新された多くのモジュールが 新しいテストを組み込みました. いくつかのコアテストが追加されています: Many modules updated from CPAN incorporate new tests. Some core specific tests have been added:
DynaLoader モジュールのテスト.
Tests for the DynaLoader module.
実行時の定数たたみ込みのテスト. Tests for compile-time constant folding.
内部タイプ 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.
新しい形式の定数関数のテスト. Tests for the new form of constant subroutines.
Attribute::Handlers のテスト.
Tests for Attribute::Handlers.
dbmopen のテスト.
Tests for dbmopen.
最初に @INC を tie した後に t/op/inccode.t の
全てのテストを呼び出し.
Calls all tests in t/op/inccode.t after first tying @INC.
@INC のコードリファレンスから帰ってきたソースフィルタのテスト.
Tests for source filters returned from code references in @INC.
RT #30970 のテスト. Tests for RT #30970.
RT #41484 のテスト. Tests for RT #41484.
qr// 構築子のテスト.
Tests for the qr// construct.
他の正規表現で構築された qr// のテスト.
Tests for the qr// construct within another regexp.
qr// 構築子のテスト.
Tests for the qr// construct.
RT #32840 のテスト. Tests for RT #32840.
tie されたスカラーにおける study のテスト.
Tests for study on tied scalars.
-T モードで実行時の subst のテスト.
Tests for subst run under -T mode.
関数若しくはメソッドでなければならないスタッシュエントリにおける
undef 及び delete のテスト.
Tests for undef and delete on stash entries that are bound to
subroutines or methods.
Perl_sv_upgrade() のテスト.
Tests for Perl_sv_upgrade().
isa 及びパッケージエイリアスの MRO テスト.
MRO tests for isa and package aliases.
Pod::Parser が二度呼ばれたときのテスト.
Tests for calling Pod::Parser twice.
ファイルディスクリプタの exec 経由での継承に関するテスト (close-on-exec).
Tests for inheriting file descriptors across exec (close-on-exec).
UTF-8 キャッシュコードのテスト. Tests for the UTF-8 caching code.
Perl_pp_chr() がひっくり返らない奇妙なエンコーディングのテスト.
Test that strange encodings do not upset Perl_pp_chr().
RT #40641 のテスト. Tests for RT #40641.
RT #40641 のテスト. Tests for RT #40641.
オーバーロードされた値から Unicode を返すテスト. Tests for returning Unicode from overloaded values.
tie された変数から Unicode を返すテスト. Tests for returning Unicode from tied variables.
新しいバグはありません. 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.
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).
Win32 はバージョン 0.38 へと更新されました.
GetOSName からの 'WinVista' 応答が記述され, Vista における
権限昇格のサポートが IsAdminUser に記述されています.
パス名でのユニコード文字のサポート.
cygwin 及び Win64 互換性の向上.
Win32 upgraded to version 0.38. Now has a documented 'WinVista' response
from GetOSName and support for Vista's privilege elevation in IsAdminUser.
Support for Unicode characters in path names. Improved cygwin and Win64
compatibility.
Win32API は 0.1001_01 へと更新されました.
Win32API updated to 0.1001_01
killpg() のサポートが MSWin32 で追加されました (Jan Dubois).
killpg() support added to MSWin32 (Jan Dubois).
File::Spec::Win32 は 3.2701> へと更新されました.
File::Spec::Win32 upgraded to version 3.2701
OS2::Process は 1.03 へと更新されました.
OS2::Process upgraded to 1.03
Ilya Zakharevich がいくつかの Window* 及び
Clipbrd* 関数の追加及びドキュメント化を行ってくれました.
Ilya Zakharevich has added and documented several Window* and Clipbrd*
functions.
OS2::REXX::DLL, OS2::REXX は 1.03 へと更新されました.
OS2::REXX::DLL, OS2::REXX updated to version 1.03
DCLsym は 1.03 へと更新されました.
DCLsym upgraded to version 1.03
Stdio は 2.4 へと更新されました.
Stdio upgraded to version 2.4
VMS::XSSymSet は 1.1. へと更新されました.
VMS::XSSymSet upgraded to 1.1.
長い間 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.
このリリースにおけるいくつかの作業は 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.
もしバグと思われるものが見つかったら, 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.
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.
山科 氷魚 (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.