目次 TABLE OF CONTENTS
perldelta - perl v5.8.8 の新機能 perldelta - what is new for perl v5.8.8
このドキュメントでは 5.8.7 リリースと 5.8.8 リリースとでの相異点を 説明します. This document describes differences between the 5.8.7 release and the 5.8.8 release.
5.8.7 と意図的な非互換はありません. もしなにか非互換と思われる事項が ありましたら, それらはバグでしょう. ぜひ報告をお願いします. There are no changes intentionally incompatible with 5.8.7. If any exist, they are bugs and reports are welcome.
Gisle Aas の提供したパッチのおかげで,
chdir, chmod 及び chown は, システムがそれぞれ fchdir,
fchmod 及び fchown をサポートしていれば, ファイル名でと同じように
ファイルハンドルに対しても動作します.
chdir, chmod and chown can now work on filehandles as well as
filenames, if the system supports respectively fchdir, fchmod and
fchown, thanks to a patch provided by Gisle Aas.
Attribute::Handlers はバージョン 0.78_02 にアップグレードされました.
Attribute::Handlers upgraded to version 0.78_02
ドキュメントの誤字修正. Documentation typo fix
attrs はバージョン 1.02 にアップグレードされました.
attrs upgraded to version 1.02
内部的なクリーンアップだけです. Internal cleanup only
autouse はバージョン 1.05 にアップグレードされました.
autouse upgraded to version 1.05
実装の単純化. Simplified implementation
B はバージョン 1.09_01 にアップグレードされました.
B upgraded to version 1.09_01
B:: モジュールの継承階層が訂正されました; B::NV は B::SV
から派生します(以前は B::IV でした).
The inheritance hierarchy of the B:: modules has been corrected;
B::NV now inherits from B::SV (instead of B::IV).
blib はバージョン 1.03 にアップグレードされました.
blib upgraded to version 1.03
ドキュメントの誤字修正. Documentation typo fix
ByteLoader はバージョン 0.06 にアップグレードされました.
ByteLoader upgraded to version 0.06
内部的なクリーンアップ. Internal cleanup
CGI はバージョン 3.15 にアップグレードされました.
CGI upgraded to version 3.15
self_url() から外側の "?" が取り除かれました.
Extraneous "?" from self_url() removed
scrolling_list() の select の属性は修正されました.
scrolling_list() select attribute fixed
https プロトコルでも virtual_port が正しく機能する
ようになりました.
virtual_port now works properly with the https protocol
関数指向モードでも upload_hook() と append() が機能する様に
なりました.
upload_hook() and append() now works in function-oriented mode
POST_MAX がクライアントをそれ以上にハングさせない様になりました.
POST_MAX doesn't cause the client to hang any more
自動的なタブインデックスは無効になりました, そして新しい -tabindex
プラグマが加えられ, これによって自動インデックスを再び有効にすることが
できます.
Automatic tab indexes are now disabled and new -tabindex pragma has
been added to turn automatic indexes back on
end_form() は空の(そして有効でない) <div> を発行しなくなりました.
CGI::Carp はいくつかの mod_perl 設定でもよりよく動作するように
なりました.
CGI::Carp works better in certain mod_perl configurations
$CGI::TMPDIRECTORY の指定がより効果的になりました.
Setting $CGI::TMPDIRECTORY is now effective
ドキュメンテーションの強化. Enhanced documentation
charnames はバージョン 1.05 にアップグレードされました.
charnames upgraded to version 1.05
viacode() は16進文字列を受け付けるようになり, より最適化
されました.
viacode() now accept hex strings and has been optimized.
CPAN はバージョン 1.76_02 にアップグレードされました.
CPAN upgraded to version 1.76_02
1 minor bug fix for Win32
ja;
Win32 での小さなバグを1つ修正.
Cwd はバージョン 3.12 にアップグレードされました.
Cwd upgraded to version 3.12
Win32 において canonpath() が foo\.. の部分をちゃんと
壊すようになりました.
canonpath() on Win32 now collapses foo\.. sections correctly.
Symbian OS での振る舞いの改善. Improved behaviour on Symbian OS.
ドキュメンテーションの強化と誤字修正. Enhanced documentation and typo fixes
内部のクリーンアップ. Internal cleanup
Dumper::Dumper はバージョン 2.121_08 にアップグレードされました.
Data::Dumper upgraded to version 2.121_08
Data::Dumper がときどきハッシュのイテレーション状態を更新してしまう
問題は修正されました.
A problem where Data::Dumper would sometimes update the iterator state
of hashes has been fixed
数値ラベルが動作する様になりました. Numeric labels now work
内部のクリーンアップ. Internal cleanup
DB はバージョン 1.01 にアップグレードされました.
DB upgraded to version 1.01
デバッガで動かしたときに正規表現エンジンの状態がときどき破壊される問題が 修正されました. A problem where the state of the regexp engine would sometimes get clobbered when running under the debugger has been fixed.
DB_File はバージョン 1.814 にアップグレードされました.
DB_File upgraded to version 1.814
Berkeley DB 4.4 のサポートが追加されました. Adds support for Berkeley DB 4.4.
Devel::DProf はバージョン 20050603.00 にアップグレードされました.
Devel::DProf upgraded to version 20050603.00
内部のクリーンアップ. Internal cleanup
Devel::Peek はバージョン 1.03 にアップグレードされました.
Devel::Peek upgraded to version 1.03
内部のクリーンアップ. Internal cleanup
Devel::PPPort はバージョン 3.06_01 にアップグレードされました.
Devel::PPPort upgraded to version 3.06_01
--compat-version 引数のチェックが改善されました.
--compat-version argument checking has been improved
コマンドラインから渡されたファイルはデフォルトでフィルタされるように なりました. Files passed on the command line are filtered by default
フィルタリングを上書きする --nofilter オプションが追加されました.
--nofilter option to override the filtering has been added
ドキュメンテーションの強化. Enhanced documentation
diagnostics はバージョン 1.15 にアップグレードされました.
diagnostics upgraded to version 1.15
ドキュメントの誤字修正. Documentation typo fix
Digest はバージョン 1.14 にアップグレードされました.
Digest upgraded to version 1.14
コンストラクタが SHA-224 を実装しているモジュールを 知るようになりました. The constructor now knows which module implements SHA-224
ドキュメントの調整と誤字修正. Documentation tweaks and typo fixes
Digest::MD5 はバージョン 2.36 にアップグレードされました.
Digest::MD5 upgraded to version 2.36
ロードの高速化のために XSLoader を使うようになりました.
XSLoader is now used for faster loading
最近発見された MD5 の弱点をドキュメントに加筆. Enhanced documentation including MD5 weaknesses discovered lately
Dumpvalue はバージョン 1.12 にアップグレードされました.
Dumpvalue upgraded to version 1.12
ドキュメントの修正. Documentation fix
DynaLoader はアップグレードされましたが, 不幸なことにバージョン番号を
あげることができませんでした.
DynaLoader upgraded but unfortunately we're not able to increment its version number :-(
Win32 での dl_unload_file の実装.
Implements dl_unload_file on Win32
内部のクリーンアップ. Internal cleanup
XSLoader 0.06 は合併されました. bootstrap_inherit() の
呼び出しの小さな最適化とドキュメンテーションの強化が行われました.
XSLoader 0.06 incorporated; small optimisation for calling
bootstrap_inherit() and documentation enhancements.
Encode はバージョン 2.12 にアップグレードされました.
Encode upgraded to version 2.12
CHECK にコードリファレンスを受け付けるようになりました!
A coderef is now acceptable for CHECK!
ISO-8859-7 エンコーディングに新しく3文字が追加されました. 3 new characters added to the ISO-8859-7 encoding
新しいエンコーディング MIME-Header-ISO_2022_JP が
追加されました.
New encoding MIME-Header-ISO_2022_JP added
部分文字と encoding(utf-8-strict) に関する問題が修正されました.
Problem with partial characters and encoding(utf-8-strict) fixed.
ドキュメンテーションの強化と誤字修正. Documentation enhancements and typo fixes
English はバージョン 1.02 にアップグレードされました.
English upgraded to version 1.02
$COMPILING 変数が追加されました.
the $COMPILING variable has been added
ExtUtils::Constant はバージョン 0.17 にアップグレードされました.
ExtUtils::Constant upgraded to version 0.17
古いバージョンの perl との互換性が改善されました. Improved compatibility with older versions of perl
ExtUtils::MakeMaker はバージョン 6.30 にアップグレードされました
(前は 6.17 でした).
ExtUtils::MakeMaker upgraded to version 6.30 (was 6.17)
ここに書くにはちょっとおおすぎ; http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes を参照してください. Too much to list here; see http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes
File::Basename は Michael Schwern による寄稿を含むバージョン 2.74 に
アップグレードされました.
File::Basename upgraded to version 2.74, with changes contributed by Michael Schwern.
ドキュメントの明瞭化と間違いの修正. Documentation clarified and errors corrected.
basename が名前を処理する前に末尾のパス区切り文字を取り除くように
なりました.
basename now strips trailing path separators before processing the name.
basename は同じ名前のシェルユーティリティと一致するように,
パラメータ / に対して / を返すようになりました.
basename now returns / for parameter /, to make basename
consistent with the shell utility of the same name.
サフィックスは残りの文字が同一であっても取り除かれなくなりました. シェルユーティリティと一致させるためにはもう1処理行ってください. The suffix is no longer stripped if it is identical to the remaining characters in the name, again for consistency with the shell utility.
いくつかの内部コードのクリーンアップ. Some internal code cleanup.
File::Copy はバージョン 2.09 にアップグレードされました.
File::Copy upgraded to version 2.09
自分自身へのコピーは失敗します. Copying a file onto itself used to fail.
ファイルシステムをまたぐファイルの移動はアクセス及び更新時間を 維持するようになりました. Moving a file between file systems now preserves the access and modification time stamps
File::Find はバージョン 1.10 にアップグレードされました.
File::Find upgraded to version 1.10
Win32 での可搬性を修正しました. Win32 portability fixes
ドキュメンテーションの強化. Enhanced documentation
File::Glob はバージョン 1.05 にアップグレードされました.
File::Glob upgraded to version 1.05
内部のクリーンアップ. Internal cleanup
File::Path はバージョン 1.08 にアップグレードされました.
File::Path upgraded to version 1.08
mkpath が mkdir の失敗時に errno を残すようになりました.
mkpath now preserves errno when mkdir fails
File::Spec はバージョン 3.12 にアップグレードされました.
File::Spec upgraded to version 3.12
Win32 において File::Spec->rootdir() が / ではなく \ を
返すようになりました.
File::Spec->rootdir() now returns \ on Win32, instead of /
$^O はときどき汚染されています. これは修正されました.
$^O could sometimes become tainted. This has been fixed.
Win32 において canonpath が foo/.. (もしくは foo\..) の部分を
これまで行っていた"誤った"動作を起こすのではなくちゃんと壊すように
なりました. Unix での canonpath はこれが誤ったものとしても
引き続きこれらの部分を取り壊しません.
canonpath on Win32 now collapses foo/.. (or foo\..) sections
correctly, rather than doing the "misguided" work it was previously doing.
Note that canonpath on Unix still does not collapse these sections, as
doing so would be incorrect.
いくつかのドキュメンテーションの改善. Some documentation improvements
いくつかの内部コードのクリーンアップ. Some internal code cleanup
FileCache はバージョン 1.06 にアップグレードされました.
FileCache upgraded to version 1.06
ドキュメントの POD フォーマットエラーの修正. POD formatting errors in the documentation fixed
Filter::Simple はバージョン 0.82 にアップグレードされました.
Filter::Simple upgraded to version 0.82
FindBin はバージョン 1.47 にアップグレードされました.
FindBin upgraded to version 1.47
普通よりアクセス制限のかかっているディレクトリでも よりよく動作するようになりました. Now works better with directories where access rights are more restrictive than usual.
GDBM_File はバージョン 1.08 にアップグレードされました.
GDBM_File upgraded to version 1.08
内部のクリーンアップ. Internal cleanup
Getopt::Long はバージョン 2.35 にアップグレードされました.
Getopt::Long upgraded to version 2.35
prefix_pattern はユーザにどのプレフィックスパターンに
ロングオプションスタイルのセマンティクスを適用させるかを
指定させるための設定オプション long_prefix_pattern によって
補完されるようになりました.
prefix_pattern has now been complemented by a new configuration
option long_prefix_pattern that allows the user to specify what
prefix patterns should have long option style semantics applied.
オプションは一度に複数の値をとれるようになりました(実験的; experimental). Options can now take multiple values at once (experimental)
様々なバグ修正. Various bug fixes
if はバージョン 0.05 にアップグレードされました.
if upgraded to version 0.05
リストコンテキストで条件句と共に飛ばれたときに
より意味のあるエラーメッセージを if から与えるようになりました.
Give more meaningful error messages from if when invoked with a
condition in list context.
以前のバージョンの perl との後方互換を復元しました. Restore backwards compatibility with earlier versions of perl
IO はバージョン 1.22 にアップグレードされました.
IO upgraded to version 1.22
ドキュメンテーションの強化. Enhanced documentation
内部のクリーンアップ. Internal cleanup
IPC::Open2 はバージョン 1.012 にアップグレードされました.
IPC::Open2 upgraded to version 1.02
ドキュメンテーションの強化. Enhanced documentation
IPC::Open3 はバージョン 1.02 にアップグレードされました.
IPC::Open3 upgraded to version 1.02
ドキュメンテーションの強化. Enhanced documentation
List::Util はバージョン 1.18 にアップグレードされました
(前は 1.14 でした).
List::Util upgraded to version 1.18 (was 1.14)
refaddr のpure-perl 版で bless されていないリファレンスを bless
しないように修正.
Fix pure-perl version of refaddr to avoid blessing an un-blessed reference
ロードの高速化に XSLoader を使用.
Use XSLoader for faster loading
いくつかのメモリリークを修正. Fixed various memory leaks
内部のクリーンアップと可搬性の修正. Internal cleanup and portability fixes
Math::Complex はバージョン 1.35 にアップグレードされました.
Math::Complex upgraded to version 1.35
atan2(0, i) は全ての(計算可能な)複素数引数の場合において動作します.
atan2(0, i) now works, as do all the (computable) complex argument cases
make 及び emake のいくつかのバグを修正.
Fixes for certain bugs in make and emake
k乗根を直接返すことをサポート. Support returning the kth root directly
emake で [2,-3pi/8] をサポート.
Support [2,-3pi/8] in emake
make/emake で inf のサポート.
Support inf for make/emake
make/emake のドキュメントをより明白に.
Document make/emake more visibly
Math::Trig はバージョン 1.03 にアップグレードされました.
Math::Trig upgraded to version 1.03
よりすばらしい周期関数の追加: great_circle_waypoint 及び
great_circle_destination
Add more great circle routines: great_circle_waypoint and
great_circle_destination
MIME::Base64 はバージョン 3.07 にアップグレードされました.
MIME::Base64 upgraded to version 3.07
ロードの高速化に XSLoader を使用.
Use XSLoader for faster loading
ドキュメンテーションの強化. Enhanced documentation
内部のクリーンアップ. Internal cleanup
NDBM_File はバージョン 1.06 にアップグレードされました.
NDBM_File upgraded to version 1.06
ドキュメンテーションの強化. Enhanced documentation
ODBM_File はバージョン 1.06 にアップグレードされました.
ODBM_File upgraded to version 1.06
ドキュメントの誤字修正. Documentation typo fixed
内部のクリーンアップ. Internal cleanup
Opcode はバージョン 1.06 にアップグレードされました.
Opcode upgraded to version 1.06
ドキュメンテーションの強化. Enhanced documentation
内部のクリーンアップ. Internal cleanup
open はバージョン 1.05 にアップグレードされました.
open upgraded to version 1.05
ドキュメンテーションの強化. Enhanced documentation
overload はバージョン 1.04 にアップグレードされました.
overload upgraded to version 1.04
ドキュメンテーションの強化. Enhanced documentation
PerlIO はバージョン 1.04 にアップグレードされました.
PerlIO upgraded to version 1.04
PerlIO::via はレイヤを適切に反復(iterate)するようになりました.
PerlIO::via iterate over layers properly now
PerlIO::scalar は $/ = "" を理解するようになりました.
PerlIO::scalar understands $/ = "" now
部分的な文字に対する encoding(utf-8-strict) が動作するようになりました.
encoding(utf-8-strict) with partial characters now works
ドキュメンテーションの強化. Enhanced documentation
内部のクリーンアップ. Internal cleanup
Pod::Functions はバージョン 1.03 にアップグレードされました.
Pod::Functions upgraded to version 1.03
ドキュメントの誤字修正. Documentation typos fixed
Pod::Html はバージョン 1.0504 にアップグレードされました.
Pod::Html upgraded to version 1.0504
HTML 出力において同じページ内の =item に正しく
リンクするようになりました. また, 正しい(valid)XHTMLに
なります.
HTML output will now correctly link
to =items on the same page, and should be valid XHTML.
変数名は意図されたように認識されます. Variable names are recognized as intended
ドキュメントの誤字修正. Documentation typos fixed
Pod::Parser はバージョン 1.32 にアップグレードされました.
Pod::Parser upgraded to version 1.32
はじめの行が =head から始まるファイルを許可します.
Allow files that start with =head on the first line
Win32 での可搬性を修正しました. Win32 portability fix
pod2usage の終了ステータスを修正.
Exit status of pod2usage fixed
pod2usage に新しく -noperldoc スイッチが追加されました.
New -noperldoc switch for pod2usage
任意の URL スキーマは許可されます. Arbitrary URL schemes now allowed
ドキュメントの誤字修正. Documentation typos fixed
POSIX はバージョン 1.09 にアップグレードされました.
POSIX upgraded to version 1.09
ドキュメントの誤字修正. Documentation typos fixed
内部のクリーンアップ. Internal cleanup
re はバージョン 0.05 にアップグレードされました.
re upgraded to version 0.05
ドキュメントの誤字修正. Documentation typo fixed
Safe はバージョン 2.12 にアップグレードされました.
Safe upgraded to version 2.12
小さなドキュメンテーション強化. Minor documentation enhancement
SDBM_File はバージョン 1.05 にアップグレードされました.
SDBM_File upgraded to version 1.05
ドキュメントの誤字修正. Documentation typo fixed
内部のクリーンアップ. Internal cleanup
Socket はバージョン 1.78 にアップグレードされました.
Socket upgraded to version 1.78
内部のクリーンアップ. Internal cleanup
Storable はバージョン 2.15 にアップグレードされました.
Storable upgraded to version 2.15
Adam Kennedy によって追加された STORABLE_attach フック
機能を含みます. また ithreads において ithreads のクローン
追跡コードを利用することでメモリを倹約するようになりました.
This includes the STORABLE_attach hook functionality added by
Adam Kennedy, and more frugal memory requirements when storing under ithreads, by
using the ithreads cloning tracking code.
Switch はバージョン 2.10_01 にアップグレードされました.
Switch upgraded to version 2.10_01
ドキュメントの誤字修正. Documentation typos fixed
Sys::Syslog はバージョン 0.13 にアップグレードされました.
Sys::Syslog upgraded to version 0.13
数値のマクロや意味のある Exporter タグを提供するようになりました.
Now provides numeric macros and meaningful Exporter tags.
ネットワーク環境が設定されていない環境で使用できる値を返さないことが
あることから Sys::Hostname を使わなくなりました.
かわりに INADDR_LOOPBACK を直接つかいます.
No longer uses Sys::Hostname as it may provide useless values in
unconfigured network environments, so instead uses INADDR_LOOPBACK directly.
syslog() はローカルタイムスタンプを使うようになります.
syslog() now uses local timestamp.
setlogmask() は C の対応する関数のように振る舞うようになります.
setlogmask() now behaves like its C counterpart.
setlogsock() は croak() として書かれます.
setlogsock() will now croak() as documented.
エラーメッセージと警告メッセージの改善. Improved error and warnings messages.
ドキュメンテーションの改善. Improved documentation.
Term::ANSIColor はバージョン 1.10 にアップグレードされました.
Term::ANSIColor upgraded to version 1.10
colored において, $EACHLINE が設定されているときに
単独の0(リテラルの0)からなる行に色を付けれないバグの修正.
Fixes a bug in colored when $EACHLINE is set that caused it to not color
lines consisting solely of 0 (literal zero).
テストの改善. Improved tests.
Term::ReadLine はバージョン 1.02 にアップグレードされました.
Term::ReadLine upgraded to version 1.02
ドキュメントの調整. Documentation tweaks
Test::Harness はバージョン 2.56 にアップグレードされました
(前は 2.48 でした).
Test::Harness upgraded to version 2.56 (was 2.48)
Test::Harness タイマーはデフォルトでオフになりました.
The Test::Harness timer is now off by default.
経過時間をミリ秒で表示するようになりました. Now shows elapsed time in milliseconds.
様々なバグ修正. Various bug fixes
Test::Simple はバージョン 0.62 にアップグレードされました
(前は 0.54 でした).
Test::Simple upgraded to version 0.62 (was 0.54)
is_deeply() は多くの場合失敗します.
is_deeply() no longer fails to work for many cases
様々な小さなバグの修正. Various minor bug fixes
ドキュメンテーションの強化. Documentation enhancements
Text::Tabs はバージョン 2005.0824 にアップグレードされました.
Text::Tabs upgraded to version 2005.0824
expand の高速な実装の提供.
Provides a faster implementation of expand
Text::Wrap はバージョン 2005.082401 にアップグレードされました.
Text::Wrap upgraded to version 2005.082401
$Text::Wrap::separator2 の追加. 他の文字列で line-break を加えても
既存の改行を保存できるようになります.
Adds $Text::Wrap::separator2, which allows you to preserve existing newlines
but add line-breaks with some other string.
threads はバージョン 1.07 にアップグレードされました.
threads upgraded to version 1.07
threads は no warnings 'threads' を守るようになりました.
threads will now honour no warnings 'threads'
スレッドのインタプリタは undef $t の後ではなく $t->join() の後に
解放されるようになりました. これにより ithreads でのいくつかの
メモリリークが修正されました(Dave Mitchellによってなされました).
A thread's interpreter is now freed after $t->join() rather than after
undef $t, which should fix some ithreads memory leaks. (Fixed by Dave
Mitchell)
いくつかのドキュメントの誤字修正. Some documentation typo fixes.
threads::shared はバージョン 0.94 にアップグレードされました.
threads::shared upgraded to version 0.94
ドキュメントの追加のみ. Documentation changes only
補足: threads::shared の改善された実装は CPAN で入手可能です -
安定していることが確認されれば 5.8.9 で取り込まれるでしょう.
Note: An improved implementation of threads::shared is available on
CPAN - this will be merged into 5.8.9 if it proves stable.
Tie::Hash はバージョン 1.02 にアップグレードされました.
Tie::Hash upgraded to version 1.02
ドキュメントの誤字修正. Documentation typo fixed
Time::HiRes はバージョン 1.86 にアップグレードされました
(前は 1.66 でした).
Time::HiRes upgraded to version 1.86 (was 1.66)
clock_nanosleep() と clock() の機能が追加されました.
clock_nanosleep() and clock() functions added
POSIX clock_gettime() 及び clock_getres() が追加されました.
Support for the POSIX clock_gettime() and clock_getres() has been added
gettimeofday() が失敗したときに undef か空のリストを返すようになりました.
Return undef or an empty list if the C gettimeofday() function fails
nanosleep の検出の改善.
Improved nanosleep detection
内部のクリーンアップ. Internal cleanup
ドキュメンテーションの強化. Enhanced documentation
Unicode::Collate はバージョン 0.52 にアップグレードされました.
Unicode::Collate upgraded to version 0.52
UCA Revision 14 (Unicode 4.1.0 ベース) の実装. Now implements UCA Revision 14 (based on Unicode 4.1.0).
Unicode::Collate-new> メソッドでユーザの $_ を上書きしなく
なりました.
Unicode::Collate-new> method no longer overwrites user's $_
ドキュメンテーションの強化. Enhanced documentation
Unicode::UCD はバージョン 0.24 にアップグレードされました.
Unicode::UCD upgraded to version 0.24
ドキュメントの誤字修正. Documentation typos fixed
User::grent はバージョン 1.01 にアップグレードされました.
User::grent upgraded to version 1.01
ドキュメントの誤字修正. Documentation typo fixed
utf8 はバージョン 1.06 にアップグレードされました.
utf8 upgraded to version 1.06
ドキュメントの誤字修正. Documentation typos fixed
vmsish はバージョン 1.02 にアップグレードされました.
vmsish upgraded to version 1.02
ドキュメントの誤字修正. Documentation typos fixed
warnings はバージョン 1.05 にアップグレードされました.
warnings upgraded to version 1.05
内部で Carp:: を使うようになりました. .
Gentler messing with Carp:: internals
内部のクリーンアップ. Internal cleanup
ドキュメントの更新. Documentation update
Win32 はバージョン 0.2601 にアップグレードされました.
Win32 upgraded to version 0.2601
Win32::GetOSName での Windows Vista サポートの提供.
Provides Windows Vista support to Win32::GetOSName
ドキュメンテーションの強化. Documentation enhancements
XS::Typemap はバージョン 0.02 にアップグレードされました.
XS::Typemap upgraded to version 0.02
内部のクリーンアップ. Internal cleanup
h2xs の強化
h2xs enhancements
h2xs は後方互換モジュールであっても XSLoader の使用を
強制する新しいオプション --use-xsloader を実装しました.
h2xs implements new option --use-xsloader to force use of
XSLoader even in backwards compatible modules.
アポストロフィを含んだauthor名の処理が修正されました. The handling of authors' names that had apostrophes has been fixed.
負の値を持つenumはスキップされるようになりました. Any enums with negative values are now skipped.
perlivp の強化
perlivp enhancements
perlivp は新しいオプション -a を実装しました. そしてデフォルトでは
*.ph ファイルはチェックしなくなります. すべてのテストを走らせる
ためには -a オプションを使うようにしてください.
perlivp implements new option -a and will not check for *.ph
files by default any more. Use the -a option to run all tests.
perlglossary [CPAN] マニュアルページは Perl で使われる技術的な単語その他の 用語集です. 親切な O'Reilly Media, inc. から提供されました. The perlglossary [CPAN] manpage is a glossary of terms used in the Perl documentation, technical and otherwise, kindly provided by O'Reilly Media, inc.
Nicholas Clark の好意により, 弱(Weak)リファレンスは O(n) ではなく O(1) で生成できるようになりました. 弱リファレンスの削除は 引き続き O(n) ですが, 削除はプログラムの終了時にのみおこるのであれば これは完全にスキップされるでしょう. Weak reference creation is now O(1) rather than O(n), courtesy of Nicholas Clark. Weak reference deletion remains O(n), but if deletion only happens at program exit, it may be skipped completely.
Salvador Fandiño が sort におけるメモリ消費削減といくつかの
状況でのスピードアップとの向上を提供してくれました.
Salvador Fandiño provided improvements to reduce the memory usage of sort
and to speed up some cases.
実行ファイルの中でオペレーティングシステムがプロセス間で共有できる
割合を増やすために, そしてマルチユーザシステムで実メモリの使用量を
減らすために Jarkko Hietaniemi と Andy Lester は C ソースの中で
出来るだけ多くのデータを static とマークするように動いてくれました.
Jarkko Hietaniemi and Andy Lester worked to mark as much data as possible in
the C source files as static, to increase the proportion of the executable
file that the operating system can share between process, and thus reduce
real memory usage on multi-user systems.
平行(parallel) make は正常に動作するようになっているでしょう.
make test を平行に実行する事には問題が残りますが.
Parallel makes should work properly now, although there may still be problems
if make test is instructed to run in parallel.
Win32 において Borland のコンパイラ(群)でのビルドはよりスムーズに なりました. 特に Steve Hay はそれらのコンパイラが発する警告の減少 と, そのうちの少なくとも1つで発生した内部エラーの除去に取り組んで くれました. Building with Borland's compilers on Win32 should work more smoothly. In particular Steve Hay has worked to side step many warnings emitted by their compilers and at least one C compiler internal error.
Alan Burlison からのパッチのおかげで Configure は clearenv と
unsetenv を検出するようになりました. また, futimes の検出と
sprintf が整形した文字列の長さを正しく返すかどうかの検出も行いますが,
これは perl 5.8.9 で使われます.
Configure will now detect clearenv and unsetenv, thanks to a patch
from Alan Burlison. It will also probe for futimes and whether sprintf
correctly returns the length of the formatted string, which will both be used
in perl 5.8.9.
next-3.0, vmesa, IX, Darwin, Solaris, Linux, DEC/OSF, HP-UX および MPE/iX でのヒントの改善. There are improved hints for next-3.0, vmesa, IX, Darwin, Solaris, Linux, DEC/OSF, HP-UX and MPE/iX
Vadim Konovalov の働きのおかげで Windows において Perl エクステンションを Perl DLL にスタティックにビルドできるようになりました. (これは 実際には 5.8.7 で改善されていますが手違いで perl587delta [CPAN] に 記載されていませんでした.) Perl extensions on Windows now can be statically built into the Perl DLL, thanks to a work by Vadim Konovalov. (This improvement was actually in 5.8.7, but was accidentally omitted from perl587delta [CPAN]).
これまで -w でグローバルに警告を有効にして実行していると
特定の警告カテゴリを選択して無効にしたときに全ての警告を無効に
してしまっていました. これは修正されました; 現在では no warnings 'io';
は io クラスでの警告のみを無効にします. これまでは間違って全ての
警告を無効にしてしまっていました.
Previously when running with warnings enabled globally via -w, selective
disabling of specific warning categories would actually turn off all warnings.
This is now fixed; now no warnings 'io'; will only turn off warnings in the
io class. Previously it would erroneously turn off all warnings.
この修正によりいくつかのプログラムが正しく警告を発するようになります. This bug fix may cause some programs to start correctly issuing warnings.
Perl 5.8.4 はスカラーへの undef の代入, 配列やハッシュへの
空のリストの代入を最適化により除去する変更を施しました.
goto ジャンプを伴うときにはこれが問題となることがあったため,
この処理は取り消されました.
Perl 5.8.4 introduced a change so that assignments of undef to a
scalar, or of an empty list to an array or a hash, were optimised away. As
this could cause problems when goto jumps were involved, this change
has been backed out.
いくつかのフォーマットで sprintf() 関数を使うと特定の条件下で バッファオーバーフローを起こすことがありましたが, 他のいくつかの バグと共に, 特に境界チェックと共に修正されました. Using the sprintf() function with some formats could lead to a buffer overflow in some specific cases. This has been fixed, along with several other bugs, notably in bounds checking.
関連する修正として, Sys::Syslog のドキュメントに従っていない
粗悪なコードでフォーマット文字列の脆弱性を持つことがありました.
Sys::Syslog は質の低いサードパーティ製のコードから人々を保護
するように修正されました.
In related fixes, it was possible for badly written code that did not follow
the documentation of Sys::Syslog to have formatting vulnerabilities.
Sys::Syslog has been changed to protect people from poor quality third
party code.
Unicode データの処理を perl のデバッガ上で実行すると思いがけなく 大きな速度低下が見られるとの報告がありました. これに相当する原因は Nicholas Clark によって確認及び修正されました. It had been reported that running under perl's debugger when processing Unicode data could cause unexpectedly large slowdowns. The most likely cause of this was identified and fixed by Nicholas Clark.
FindBin は普通よりアクセス制限のかかっているディレクトリでも
よりよく動作するようになりました.
FindBin now works better with directories where access rights are more
restrictive than usual.
ithreads におけるいくつかのメモリリークが修正されました.
threads::shared の改善された実装は CPAN で入手可能です -
安定していることが確認されれば 5.8.9 で取り込まれるでしょう.
Several memory leaks in ithreads were closed. An improved implementation of
threads::shared is available on CPAN - this will be merged into 5.8.9 if
it proves stable.
$! 及び $^E から末尾の空白が取り除かれました.
Trailing spaces are now trimmed from $! and $^E.
perl に対してプロセスのグループのリストを要求する様な操作, 例えば
$( と $), は固定サイズの配列ではなく動的に確保したメモリを
使うようになりました. 固定サイズの配列では多くのグループを使うように
設定されているシステムで C スタックの枯渇を引き起こすことがありました.
Operations that require perl to read a process' list of groups, such as reads
of $( and $), now dynamically allocate memory rather than using a
fixed sized array. The fixed size array could cause C stack exhaustion on
systems configured to use large numbers of groups.
PerlIO::scalar はデフォルトではない $/ でもよりよく
動作するようになりました.
PerlIO::scalar now works better with non-default $/ settings.
qw// リストを繰り返すために x 演算子を使うことが出来るように
なりました. これは以前は構文エラーを引き起こしていました.
You can now use the x operator to repeat a qw// list. This used
to raise a syntax error.
デバッガは #line ディレクティブを含むコードの eval("") を正しく 追跡するようになりました. The debugger now traces correctly execution in eval("")uated code that contains #line directives.
open プラグマの値は3引数のopenで無視されなくなりました.
The value of the open pragma is no longer ignored for three-argument
opens.
perl 5.8.6 で導入された for (reverse @a) の最適化は未定義の配列で
かつ LVALUE コンテキストで使われた時に振る舞いを誤る事がありました.
Dave Mitchell により修正が提供されました.
The optimisation of for (reverse @a) introduced in perl 5.8.6 could
misbehave when the array had undefined elements and was used in LVALUE
context. Dave Mitchell provided a fix.
UTF-8 エンコードされたデータと 8 bit 正規表現との, 及びその逆での 大文字小文字を区別しない(case insensitive)いくつかのマッチで 不正な文字(malformed character)警告が発生していました. これらは Dave Mitchell と Yves Orton によって修正されました. Some case insensitive matches between UTF-8 encoded data and 8 bit regexps, and vice versa, could give malformed character warnings. These have been fixed by Dave Mitchell and Yves Orton.
lcfirst 及び ucfirst は大文字, 小文字, タイトル文字(title case)
で UTF-8 エンコーディング時の長さが変わるいくつかのケースにおいて
壊れる頃がありました. これは Nicholas Clark によって修正されました.
lcfirst and ucfirst could corrupt the string for certain cases where
the length UTF-8 encoding of the string in lower case, upper case or title
case differed. This was fixed by Nicholas Clark.
C ライブラリコールの unsetenv 及び clearenv を
それが提供されているときには %ENV からのキーの削除や
%ENV の完全な削除で使うようになります.
Alan Burlison からのパッチによるものです.
Perl will now use the C library calls unsetenv and clearenv if present
to delete keys from %ENV and delete %ENV entirely, thanks to a patch
from Alan Burlison.
『解放された配列に長さを設定しようとしました』 これは新しい警告です. 次のような状況で発生します: This is a new warning, produced in situations such as this:
$r = do {my @a; \$#a};
$$r = 503;
『文字列でないものがビットマスクとして渡されました』 これは新しい警告です. select() の引数に対してビットマスクではなく 数値が渡されたときに発生します. This is a new warning, produced when number has been passed as a argument to select(), instead of a bitmask.
# Wrong, will now warn
$rin = fileno(STDIN);
($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
# Should be
$rin = '';
vec($rin,fileno(STDIN),1) = 1;
($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
『検索パターンが終了していないか3項演算子が検索パターンとして
検出されました』 この構文エラーは ?PATTERN? を構成する終わりの
区切り子(delimiter)を字句解析機が見つけられなかったことを意味します.
ここで3項演算子をあげることで構文の確認を行いやすくしています.
This syntax error indicates that the lexer couldn't find the final
delimiter of a ?PATTERN? construct. Mentioning the ternary operator in
this error message makes it easier to diagnose syntax errors.
C ソースコード上で, 一部は整頓のためとメンテナンス性の向上の
ためにですが, かなりの量のリファクタリングが行われました. 結果として
オブジェクトコードと perl バイナリは 5.8.7 より小さくなりました.
特に, Dave Mitchell によって寄稿された warnings のコードが著しく
小さくなりました. 小さくなったことと速くなった事は別として,
ユーザが認識すべき変更点はありません.
There has been a fair amount of refactoring of the C source code, partly to
make it tidier and more maintainable. The resulting object code and the
perl binary may well be smaller than 5.8.7, in particular due to a change
contributed by Dave Mitchell which reworked the warnings code to be
significantly smaller. Apart from being smaller and possibly faster, there
should be no user-detectable changes.
Andy Lester は C コンパイラに対して実質 const として宣言
されるべき関数パラメータとローカル変数の改善を多く提供してくれました.
Steve Peters は新しい *_set マクロを提供し, LVALUE コンテキストにおいて
マクロに代入するのでなくこれを使うようにコアの書き換えを行って
くれました.
Andy Lester supplied many improvements to determine which function
parameters and local variables could actually be declared const to the C
compiler. Steve Peters provided new *_set macros and reworked the core to
use these rather than assigning to macros in LVALUE context.
Dave Mitchell は -DT における字句解析機のデバッグ出力を
改善してくれました.
Dave Mitchell improved the lexer debugging output under -DT
Nicholas Clark は文字列バッファの確保を次の4の倍数(64bitポインタの
プラットホームでは8の倍数)に丸めるように変更しました. これにより
実質余分なメモリを使うことなく realloc の回数を削減できます.
Nicholas Clark changed the string buffer allocation so that it is now rounded
up to the next multiple of 4 (or 8 on platforms with 64 bit pointers). This
should reduce the number of calls to realloc without actually using any
extra memory.
HV のもつ HE* の配列は適切な(最小の)サイズを確保するように
なりました. Nicholas Clark のまた別の修正によるものです.
-DPERL_USE_LARGE_HV_ALLOC をつけてコンパイルすることで
これまでのずさんで怠惰な実装を使うことも出来ます.
The HV's array of HE*s is now allocated at the correct (minimal) size,
thanks to another change by Nicholas Clark. Compile with
-DPERL_USE_LARGE_HV_ALLOC to use the old, sloppier, default.
XS や埋め込みデバッグ用に, perl が -DDEBUG_LEAKING_SCALARS に
加えて -DDEBUG_LEAKING_SCALARS_FORK_DUMP もつけてコンパイル
することでグローバルデストラクションの直前に子プロセスを fork
させる事が出来ます. これによりグローバルデストラクションの終了時に
漏れていた任意のスカラーの値を出力することができます. これが
ない場合には, スカラーは検出した地点では既に十分に解放されていて,
そこでは意味のあるダンプは出力できないでしょう. この機能は
Mike Giroux によるアイデアを根気のいい Nicholas Clark が実装
したものです.
For XS or embedding debugging purposes, if perl is compiled with
-DDEBUG_LEAKING_SCALARS_FORK_DUMP in addition to
-DDEBUG_LEAKING_SCALARS then a child process is forked just before
global destruction, which is used to display the values of any scalars
found to have leaked at the end of global destruction. Without this, the
scalars have already been freed sufficiently at the point of detection that
it is impossible to produce any meaningful dump of their contents. This
feature was implemented by the indefatigable Nicholas Clark, based on an idea
by Mike Giroux.
HP-UX 11.23 (Itanium 2) 上の最適化は HP C-ANSI-C を使用している場合に 現在部分的に無効にされています(+O1 にスケールダウン); これは 高レベルの最適化による問題の原因がまだ不明瞭なためです. The optimiser on HP-UX 11.23 (Itanium 2) is currently partly disabled (scaled down to +O1) when using HP C-ANSI-C; the cause of problems at higher optimisation levels is still unclear.
VMS において失敗するテストがいくつかあります. これはこのリリースにおいて, 開発ストリームから修正された分の統合のために, 多すぎる依存関係と共にテストの修正や小さなモジュールの修正が 行われたためです. 以下に既知の失敗と, それに気付いて修正された パッチ番号を並べておきます. There are a handful of remaining test failures on VMS, mostly due to test fixes and minor module tweaks with too many dependencies to integrate into this release from the development stream, where they have all been corrected. The following is a list of expected failures with the patch number of the fix where that is known:
ext/Devel/PPPort/t/ppphtest.t #26913
ext/List/Util/t/p_tainted.t #26912
lib/ExtUtils/t/PL_FILES.t #26813
lib/ExtUtils/t/basic.t #26813
t/io/fs.t
t/op/cmp.t
もしバグと思われるものが見つかったら, 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/
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.8. 翻訳日: 2006-02-04. Origlnal distribution is perl VERSION 5.8.8. Translated at 2006-02-04.