Kentaro Shirakata
argra****@users*****
2006年 4月 16日 (日) 04:54:18 JST
Index: docs/perl/5.8.4/perl58delta.pod diff -u docs/perl/5.8.4/perl58delta.pod:1.4 docs/perl/5.8.4/perl58delta.pod:1.5 --- docs/perl/5.8.4/perl58delta.pod:1.4 Fri Apr 14 04:45:35 2006 +++ docs/perl/5.8.4/perl58delta.pod Sun Apr 16 04:54:18 2006 @@ -1,3 +1,5 @@ +=encoding euc-jp + =head1 NAME =begin original @@ -17,8 +19,7 @@ =end original -このドキュメントではリリース 5.6.0 とリリース 5.8.0 間での -相違点が述べられています。 +このドキュメントは 5.6.0 リリースと 5.8.0 リリースの変更点を記述しています。 =begin original @@ -5000,6 +5001,9 @@ =end original +chop(@list) をリストコンテキストで使うと、 +逆順で chop した文字列を返していました。 +これは正しい順序に戻されました。[561] =item * @@ -5011,6 +5015,9 @@ =end original +Configure は Perl バイナリをビルドするときに DBM ライブラリ +(dbm, gdbm, db, ndbm) を含めないようになりました。 +唯一の例外はこれらが必要な SunOS 4.x です。[561] =item * @@ -5025,6 +5032,14 @@ =end original +"0x23" といった、10 進ではない数値文字列定数の振る舞いは +プラットフォーム依存でした: 35 として扱うプラットフォームもあれば、 +0 として扱うプラットフォームもあり、 +小数点として扱うプラットフォームもありました(聞かないで下さい)。 +これは、Perl は文字列を数値に変換した結果が未定義のときに +オペレーションシステムのライブラリを使っていたからです: +Perl は一貫して数値コンテキストではこれらの文字列をゼロとして +扱うようになりました。 =item * @@ -5037,6 +5052,12 @@ =end original +いくつかのデバッガの修正: 終了コードはスクリプトの終了コードを +反映するようになりました; 条件 C<"0"> を正しく扱えるようになりました; +C<d> コマンドは行番号をチェックするようになりました; +C<$.> は壊れなくなりました; +RemotePort がセットされた場合、デバッガの全ての出力が +正しくソケットに向かうようになりました。[561] =item * @@ -5048,6 +5069,10 @@ =end original +デバッガ (perl5db.pl) は (CommandSet=580) を通して +より一貫したコマンドインターフェースを持つように修正されました。 +この変更をテストするためと、将来のテストのプレースホルダとして +perl5db.t が追加されました。 =begin original @@ -5055,6 +5080,7 @@ =end original +L<perldebug> を参照してください。 =item * @@ -5067,6 +5093,10 @@ =end original +デバッガに、ネストした構造をダンプする場合の最大の深さを制御するための +C<dumpDepth> オプションが追加されました。 +C<x> コマンドは拡張され、C<x N EXPR> とすると +I<EXPR> の値を最大 I<N> レベルの深さまでダンプ出力します。 =item * @@ -5077,6 +5107,8 @@ =end original +デバッガは、CPAN モジュールである PadWalker がインストールされていると +レキシカル変数を表示できるようになりました。 =item * @@ -5086,6 +5118,7 @@ =end original +DESTROY の順序はより予測可能になりました。 =item * @@ -5097,6 +5130,9 @@ =end original +Perl 5.6.0 ではモジュールを静的に perl にビルドした場合、 +dl_error() の再定義に関する偽の警告を出力することがありました。 +これは修正されました。[561] =item * @@ -5116,7 +5152,7 @@ =end original -C<*foo{FORMAT}> が動作するようになりmした。 +C<*foo{FORMAT}> が動作するようになりました。 =item * @@ -5137,6 +5173,8 @@ =end original +UNIVERSAL::isa は正しくメソッドをキャッシュするようになりました。 +(これが 5.6.0 の Tk 拡張を壊していました。)[561] =item * @@ -5148,6 +5186,9 @@ =end original +レキシカルその 1: eval "" の外側のレキシカルが +まだトップレベルの eval "" 化コードから参照されていない場合、 +eval "" 内部のサブルーチン定義で正しく解決されていませんでした。 =item * @@ -5158,6 +5199,8 @@ =end original +レキシカルが、ファイルスコープから、レキシカルが定義される前の +サブルーチンにリークしていました。 =item * @@ -5168,6 +5211,8 @@ =end original +レキシカルの警告がスコープと C<eval "..."> の間で正しく +伝播するようになりました。 =item * @@ -5190,6 +5235,8 @@ =end original +warnings::enabled() は呼び出し側がレキシカル警告を使っていない場合に +$^W の状態を正しく報告するようになりました。[561] =item * @@ -5199,6 +5246,7 @@ =end original +eval と C<#line> での行番号の振り直しが動作するようになりました。[561] =item * @@ -5238,7 +5286,9 @@ =end original - +ローカル化したハッシュ要素 (と %ENV)は、 +それがもともとローカル化されていなかった場合は +存在しないように非ローカル化されるようになりました。 use Tie::Hash; tie my %tied_hash => 'Tie::StdHash'; @@ -5259,6 +5309,9 @@ =end original +この修正の副作用として、tie されたハッシュインターフェースは +EXISTS と DELETE のメソッドを定義 B<しなければならない> ことに +なりました。 =item * @@ -5269,6 +5322,8 @@ =end original +mkdir() は POSIX で要求されているように、ディレクトリ名の +末尾のスラッシュを無視するようになりました。 =item * @@ -5281,6 +5336,11 @@ =end original +glibc の中には modfl() が壊れているバージョンがあります。 +これは C<-Duselongdouble> でビルドしたときに影響を受けます。 +このバージョンの Perl はこの問題を検出し、回避策をとります。 +glibc 2.2.2 リリースは modfl() バグが修正されていると +わかっています。 =item * @@ -5291,6 +5351,9 @@ =end original +符号なし数の剰余が動作するようになりました +(4063328477 % 65535 は 27406 を返していましたが、27047 を +返すようになりました)。[561] =item * @@ -5301,6 +5364,9 @@ =end original +5.6.0 でのいくつかの "not a number" 警告は 5.005 との互換性を +高めるために除去されました。 +無限は数値として認識されるようになりました。[561] =item * @@ -5311,6 +5377,8 @@ =end original +数値変換は特定の状況では文字列値の変更を正しく +認識できていませんでした。[561] =item * @@ -5320,6 +5388,7 @@ =end original +(:shared のような) 属性が our() で動作していませんでした。 =item * @@ -5330,6 +5399,8 @@ =end original +our() 変数で余分な "Variable will not stay shared" 警告を +出さなくなりました。[561] =item * @@ -5341,6 +5412,9 @@ =end original +並んだ二つのブロックで同じ名前で宣言されている +"our" 変数があるとこの変数に対する余分な"再定義"警告が出ていました。 +問題は修正されました。[561] =item * @@ -5350,6 +5424,7 @@ =end original +pack "Z" は正しく文字列を "\0" で終端するようになりました。 =item * @@ -5360,6 +5435,9 @@ =end original +シャドウパスワードを使っているプラットフォームのいくつか +(HP-UX など)において getpwent() が別のエントリを返していた +パスワードルーチンが修正されました。 =item * @@ -5370,6 +5448,8 @@ =end original +(Perl にコマンドライン引数を渡すための) PERL5OPT 環境変数が +複数の組のオプションを渡せていませんでした。[561] =item * @@ -5389,6 +5469,7 @@ =end original +printf() は数値ロケールを "C" にリセットしなくなりました。 =item * @@ -5399,6 +5480,8 @@ =end original +C<qw(a\\b)> は正しく C<'a\\b'> とパースされるようになりました: +これは 4 文字ではなく 3 文字です。[561] =item * @@ -5409,6 +5492,8 @@ =end original +以前のバージョンでは s///ge の中では pos() が正しい値を +返していませんでした。正しく扱えるようになりました。[561] =item * @@ -5419,6 +5504,9 @@ =end original +(64 bit 整数対応のプラットフォームでは) +printf/sprintf において、q L ll 接頭辞をつけなくても +64 bit 整数を表示できるようになりました。 =item * @@ -5428,6 +5516,7 @@ =end original +リファレンスとオーバーロードされた正規表現が動作するようになりました。[561+] =item * @@ -5438,6 +5527,8 @@ =end original +Right-hand side magic (GMAGIC) could in many cases such as string +concatenation be invoked too many times. =item * @@ -5447,6 +5538,8 @@ =end original +scalar() は無効コンテキストで使われてもスカラコンテキストを +強制するようになりました。 =item * @@ -5469,6 +5562,10 @@ =end original +sort() の引数は正しい wantarray コンテキストでコンパイルされるように +なりました(図らずも sort() 自身のコンテキストを使うようになっていました)。 +比較ブロックはスカラコンテキストで実行され、 +ソートされる引数は常にリストコンテキストで提供されます。[561] =item * @@ -5481,6 +5578,9 @@ =end original +POSIX 文字クラス C<[[:space:]]> に(めったに使われない)垂直タブ文字を +含むように変更されました。水平空白(現在のところ、空白とタブ)を示す +新しい POSIX 風文字クラスである C<[[:blank:]]> が追加されました。 =item * @@ -5492,6 +5592,9 @@ =end original +sprintf() の汚染された場合の振る舞いが合理的なものになりました。 +浮動小数点フォーマットの結果はもはや汚染されず、 +文字列の変換の場合と一貫性のある振る舞いをするようになりました。[561] =item * @@ -5502,6 +5605,7 @@ =end original +(ハッシュの値のような)一貫性のない汚染の伝播が修正されました。 =item * @@ -5512,6 +5616,8 @@ =end original +Perl 5.6.0 の RE エンジンは図らずもある種の単純なパターンマッチで +悲観的になっていました。これらはよりよく扱われるようになりました。[561] =item * @@ -5522,6 +5628,8 @@ =end original +(C<use re 'debug'> か C<-Dr> かによらず)正規表現デバッグ出力は +よりよく見えるようになりました。[561] =item * @@ -5532,6 +5640,8 @@ =end original +C<"a\nxb\n" =~ /(?!\A)x/m> のような複数行マッチに不具合がありました。 +このバグは修正されました。[561] =item * @@ -6753,7 +6863,7 @@ You can now build a really minimal perl called microperl. Building microperl does not require even running Configure; C<make -f Makefile.micro> should be enough. Beware: microperl makes -many assumptions, some of which may be too bwold; the resulting +many assumptions, some of which may be too bold; the resulting executable may crash or otherwise misbehave in wondrous ways. For careful hackers only.