--- perldocjp/docs/perl/5.16.0/perl5160delta.pod 2012/05/17 18:43:14 1.20 +++ perldocjp/docs/perl/5.16.0/perl5160delta.pod 2012/05/19 10:31:03 1.21 @@ -2581,13 +2581,12 @@ =end original -We no longer read from STDIN when the Content-Length is not set, -preventing requests with no Content-Length from sometimes freezing. -This is consistent with the CGI RFC 3875, and is also consistent with -CGI::Simple. +Content-Length が設定されていないとき、もはや STDIN から +読み込まなくなりました; Content-Length がないリクエストがときどき +フリーズするのを回避します。 +これは CGI RFC 3875 と一貫性があり、CGI::Simple とも一貫性があります。 しかし、古い振る舞いは CGI.pm のいくつかのコマンドライン利用で 想定されていました。 -(TBT) =begin original @@ -2642,12 +2641,10 @@ =end original -addfile メソッドと shasum に bITS モードが追加されました。 -This makes -partial-byte inputs possible via files/STDIN and lets shasum check -all 8074 NIST Msg vectors, where previously special programming was -required to do this. -(TBT) +addfile メソッドと shasum に BITS モードが追加されました。 +これにより ファイル/STDIN から部分的なバイトの入力が可能になり、 +shasum で以前は特別なプログラミングが必要であった 8074 NIST Msg ベクタ全ての +チェックが出来るようになりました。 =item * @@ -2717,10 +2714,9 @@ =end original -Much of L, the module behind the XS compiler C, -was rewritten and cleaned up. It has been made somewhat more extensible -and now finally uses strictures. -(TBT) +XS コンパイラ C の裏側にいるモジュールである +L のほとんどが書き直され整理されました。 +これによりいくらか拡張可能になり、ついに strict を使うようになりました。 =begin original @@ -2773,10 +2769,9 @@ C<:glob> の置き換えを意図した新しい C<:bsd_glob> エクスポートタグが 追加されました。 -C<:glob> と同様、これは overrides C with a function that does not split the glob -pattern into words, but, unlike C<:glob>, it iterates properly in scalar -context, instead of returning the last file. -(TBT) +C<:glob> と同様、これは C を、グロブパターンを単語に分割しない +関数で上書きしますが、C<:glob> と違って、スカラコンテキストでも +最後のファイルを返すのではなく、正しく反復します。 =begin original @@ -3478,9 +3473,9 @@ C と C は帰る前にシグナルハンドラを実行するように なりました; as the whole point of these two functions is to wait until a signal has -arrived, and then return I it has been triggered. Delayed, or -"safe", signals were preventing that from happening, possibly resulting in -race conditions [perl #107216]. +arrived, and then return I it has been triggered. +遅延、またの名を「安全」シグナルは、これが起きることによって競合条件が +起きることがある可能性を防ぎます [perl #107216]。 (TBT) =begin original @@ -3494,13 +3489,13 @@ =end original -C is now a direct call into the underlying OS C -function, instead of being a Perl wrapper on C. -C now returns the correct value on Win32 (I, the file -descriptor). C C and C and -C now dispatch safe signals immediately before returning to -their caller. -(TBT) +C は C の Perl ラッパーにではなく、基礎となる +OS の C 関数を呼び出すようになりました。 +C は Win32 で正しい値 (つまり、ファイル記述子) を +返すようになりました。 +C C と C と +C は呼び出し元に返る直前に安全なシグナルを +発行するようになりました。 =begin original @@ -3625,10 +3620,9 @@ =end original -Term::ReadLine now supports any event loop, including unpublished ones and -simple L, loops without the need to rewrite existing code for -any particular framework [perl #108470]. -(TBT) +Term::ReadLine は、発行されていないものや単純な L、 +特定のフレームワークのために既存のコードを書き換える必要のないループを +含む、任意のイベントループに対応しました [perl #108470]。 =item * @@ -3699,9 +3693,8 @@ =end original -Tailored compatibility ideographs as well as unified ideographs for the -locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke. -(TBT) +ロケールのための調整された互換表意文字と統合表意文字: +ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke. =begin original @@ -3752,12 +3745,11 @@ =end original 四つの関数が追加されました: C と -C は which are used to find all the Unicode-approved -synonyms for property names, or to convert from one name to another; -C which returns all code points matching a given -Unicode binary property; and C which returns the complete -specification of a given Unicode property. -(TBT) +C は特性名への Unicode で承認された全ての同義語を +見つけるため、あるいは一つの名前を他の名前に変換するために使われます; +C は与えられた Unicode バイナリ特性にマッチングする全ての +符号位置を返します; C は与えられた Unicode 特性の完全な +仕様を返します。 =item * @@ -4988,15 +4980,14 @@ =end original -The magic types and magic vtables are now generated from data in a new script -F, instead of being maintained by hand. +マジック型とマジック vtable は手作業による保守ではなく、新しいスクリプト +F のデータから生成されるようになりました。 異なった EBCDIC バリアントは符号位置として '~' を使えないので、 符号位置を変換の文字は F から新しく生成されるヘッダ F でビルド時に行われます。 C と C は明確な C の変数ではなく、 C としてプリプロセッサで定義されるようになりました。 C は削除されました。 -(TBT) =item * @@ -5062,11 +5053,10 @@ F は不要になったので削除されました。 これは全てのエクスポートされた関数の一覧で、F と F のデータから F で生成されたものです。 -The code -has been refactored so that the only user of F, F, -now reads F and F directly, removing the need to -store the list of exported functions in an intermediate file. -(TBT) +コードがリファクタリングされたので、F, F の +ユーザーだけが F および F を直接読み込み、 +中間ファイルのエクスポートされた関数のリストを補完する必要が +なくなりました。 =begin original @@ -5491,11 +5481,10 @@ F が単純化され、デフォルトの (非多重化) 設定での PL_* 変数の 1 レベルの間接マクロが削除されました。 -PERLVAR*() マクロは、now directly expand their arguments to -tokens such as C, instead of expanding to C, with -F defining a macro to map C to C. +PERLVAR*() マクロは、C ではなく C のようなトークンに +直接拡張するようになり、F は C から C へ +マッピングするためのマクロを定義しています。 実装上の保証されていない友好性をもつ XS コードは更新が必要かもしれません。 -(TBT) =item * @@ -5709,13 +5698,12 @@ =end original -Perl now checks whether the array (the linearized isa) returned by a MRO -plugin begins with the name of the class itself, for which the array was -created, instead of assuming that it does. +Perl は、MRO プラグインから返された配列 (線形化された isa) が配列が +作られたクラス自身の名前から始まっていることを仮定するのではなく、それを +チェックするようになりました。 これはメソッド検索中に最初の要素がスキップされるのを防ぎます。 これはまた、C が MRO プラグインが提供するよりも一つ 要素の多い配列を返すかもしれないことも意味します [perl #94306]。 -(TBT) =item * @@ -5899,12 +5887,11 @@ =end original -When hash elements are deleted in void context, the internal hash entry is -now freed before the value is freed, to prevent destructors called by that -latter freeing from seeing the hash in an inconsistent state. +無効コンテキストでハッシュ要素が削除されたとき、値が解放されるときに +一貫性のない状態のハッシュを見ることがないように、内部のハッシュエントリは +値が解放される前に解放されるようになりました。 デストラクタがハッシュ自身を解放すると二重解放になる可能性がありました [perl #100340]。 -(TBT) =item * @@ -5943,12 +5930,12 @@ =end original -It is possible from XS code to create hashes with elements that have no -values. The hash element and slice operators used to crash -when handling these in lvalue context. They now -produce a "Modification of non-creatable hash value attempted" error -message. -(TBT) +XS コードから、値を持っていない要素を持つハッシュを作ることが +可能でした。 +ハッシュ要素とスライス演算子はこれらを左辺値コンテキストで扱うと +クラッシュしていました。 +これらは "Modification of non-creatable hash value attempted" エラー +メッセージを出力するようになりました。 =item * @@ -5960,10 +5947,9 @@ =end original -If list assignment to a hash or array triggered destructors that freed the -hash or array itself, a crash would ensue. +ハッシュや配列へのリスト代入が解放されたハッシュや配列自身のデストラクタを +引き起こした場合、後でクラッシュしていました。 これはもう起こらなくなりました [perl #107440]。 -(TBT) =item * @@ -5990,9 +5976,10 @@ =end original -Some core bugs affecting L have been fixed: locking a hash -element that is a glob copy no longer causes the next assignment to it to -corrupt the glob (5.14.2), and unlocking a hash element that holds a +L に影響を与えるいくつかのコアのバグが修正されました: +グロブコピーであるハッシュ要素をロックしても引き続く代入によって +グロブを壊さなくなり (5.14.2)、 +and unlocking a hash element that holds a copy-on-write scalar no longer causes modifications to that scalar to modify other scalars that were sharing the same string buffer. (TBT) @@ -6026,9 +6013,8 @@ =end original -The C C macro now returns false for read-only copies of typeglobs, -such as those created by: -(TBT) +C C マクロは、以下のようにして作られたような、型グロブの +読み込み専用のコピーに対して偽を返すようになりました: $hash{elem} = *foo; Hash::Util::lock_value %hash, 'elem'; @@ -6086,13 +6072,13 @@ =end original -When presented with malformed UTF-8 input, the XS-callable functions -C, C, and -C could read beyond the end of the input -string by up to 12 bytes. This no longer happens. [perl #32080]. -However, currently, C still has this defect, see -L above. -(TBT) +不正な UTF-8 入力のとき、XS 呼び出し可能な関数 C, +C, C は入力文字列の +末尾を超えて最大 12 バイト読み込むことがありました。 +これはもう起きません。 +[perl #32080]。 +しかし、現在のところ、C はまだこの問題点があります; +上述の L を参照してください。 =item * @@ -6104,10 +6090,9 @@ =end original -C レベルの C 関数は could become confused about whether the -pattern was in UTF8 if the pattern was an overloaded, tied, or otherwise -magical scalar [perl #101940]. -(TBT) +C レベルの C 関数は、パターンがオーバーロードされていたり、 +tie されていたり、その他のマジカルなスカラの場合、パターンが UTF8 か +どうかについて混乱することがありました [perl #101940]。 =back @@ -6126,9 +6111,8 @@ =end original -Tying C<%^H> no longer causes perl to crash or ignore the contents of -C<%^H> when entering a compilation scope [perl #106282]. -(TBT) +C<%^H> を tie しても、コンパイルスコープに入ったときにクラッシュしたり +C<%^H> の内容を無視したりしなくなりました [perl #106282]。 =item * @@ -6144,9 +6128,10 @@ C and C used not to localize C<%^H> during compilation if it -was empty at the time the C call itself was compiled. This could -lead to scary side effects, like C enabling other flags that -the surrounding code was trying to enable for its caller [perl #68750]. +was empty at the time the C call itself was compiled. +これは、C が、周りのコードが呼び出し元に有効にしようとしていた +その他のフラグを有効にする、といった恐ろしい副作用を起こす可能性が +ありました [perl #68750]。 (TBT) =item * @@ -6160,11 +6145,11 @@ =end original -C and C no longer localize hints (C<$^H> and C<%^H>) -at run time, but only during compilation of the $string or required file. -This makes C equivalent to -C [perl #70151]. -(TBT) +C と C はヒント (C<$^H> と C<%^H>) の +ローカル化を実行時にはせず、$string や読み込まれたファイルの +コンパイル時にのみに行います。 +これにより、C は C と +等価になります [perl #70151]。 =item * @@ -6176,10 +6161,9 @@ =end original -Creating a BEGIN block from XS code (via C or C) would, -on completion, make the hints of the current compiling code the current -hints. This could cause warnings to occur in a non-warning scope. -(TBT) +(C や C で)コンパイル時に XS コードから BEGIN ブロックを +作ると、現在のヒントの現在のコンパイルコードのヒントを作ります。 +これは非警告スコープで警告を引き起こすことがありました。 =back @@ -6198,13 +6182,13 @@ =end original -Copy-on-write or shared hash key scalars -were introduced in 5.8.0, but most Perl code -did not encounter them (they were used mostly internally). Perl -5.10.0 extended them, such that assigning C<__PACKAGE__> or a -hash key to a scalar would make it copy-on-write. Several parts -of Perl were not updated to account for them, but have now been fixed. -(TBT) +コピーオンライト、あるいは共有ハッシュキースカラは 5.8.0 で導入されましたが、 +ほとんどの Perl コードはこれに出会うことはありませんでした (これらは +ほとんど内部で使われていました)。 +Perl 5.10.0 はこれらを拡張子、C<__PACKAGE__> やハッシュキーからスカラへの +代入はコピーオンライトになりました。 +Perl のいくつかの部分はこれらを計算に入れるように更新していませんでしたが、 +修正されました。 =over @@ -6233,10 +6217,10 @@ =end original -Lvalue subroutines were not allowing COW scalars to be returned. This was -fixed for lvalue scalar context in Perl 5.12.3 and 5.14.0, but list context -was not fixed until this release. -(TBT) +左辺値サブルーチンはコピーオンライトスカラを返すことはできませんでした。 +これは左辺値スカラコンテキストについては Perl 5.12.3 と 5.14.0 で +修正されていましたが、リストコンテキストではこのリリースまで修正されて +いませんでした。 =item * @@ -6274,10 +6258,9 @@ =end original -Assigning a copy-on-write string to a stash -element no longer causes a double free. Regardless of this change, the -results of such assignments are still undefined. -(TBT) +コピーオンライト文字列をスタッシュ要素に代入しても +二重解放しなくなりました。 +この変更にもかかわらず、このような代入の結果は未だ未定義です。 =item * @@ -6288,9 +6271,9 @@ =end original -Assigning a copy-on-write string to a tied variable no longer stops that -variable from being tied if it happens to be a PVMG or PVLV internally. -(TBT) +コピーオンライト文字列から tie された変数への代入すると、内部で +PVMG または PVLV であったときにその変数が tie 状態でなくなって +いましたが、修正されました。 =item * @@ -6302,10 +6285,9 @@ =end original -Doing a substitution on a tied variable returning a copy-on-write -scalar used to cause an assertion failure or an "Attempt to free -nonexistent shared string" warning. -(TBT) +コピーオンライトで返された tie された変数に対して置換を行うと +アサーションが失敗したり "Attempt to free nonexistent shared string" 警告が +出たりしていました。 =item * @@ -6317,10 +6299,9 @@ =end original -This one is a regression from 5.12: In 5.14.0, the bitwise assignment -operators C<|=>, C<^=> and C<&=> started leaving the left-hand side -undefined if it happened to be a copy-on-write string [perl #108480]. -(TBT) +これは 5.12 からの退行です: 5.14.0 では、ビット単位代入演算子 +C<|=>, C<^=>, C<&=> は、これがコピーオンライト文字列であったときに +左側を未定義のままにしていました [perl #108480]。 =item * @@ -6352,10 +6333,9 @@ =end original -F, and therefore the C command in the debugger, have been -fixed to handle objects blessed into classes whose names contain "=". The -contents of such objects used not to be dumped [perl #101814]. -(TBT) +F、従ってデバッガの C コマンドは、名前に "=" を含む +クラスに bless されているオブジェクトの扱いが修正されました。 +このようなオブジェクトの内容をダンプできていませんでした [perl #101814]。 =item * @@ -6367,10 +6347,9 @@ =end original -The "R" command for restarting a debugger session has been fixed to work on -Windows, or any other system lacking a C constant -[perl #87740]. -(TBT) +デバッガセッションをリスタートするための "R" コマンドは、Windows や +その他の C 定数がないシステムでも動作するように +修正されました [perl #87740]。 =item * @@ -6383,11 +6362,11 @@ =end original -The C<#line 42 foo> directive used not to update the arrays of lines used -by the debugger if it occurred in a string eval. This was partially fixed -in 5.14, but it worked only for a single C<#line 42 foo> in each eval. Now -it works for multiple. -(TBT) +C<#line 42 foo> 指示子は、文字列 eval の中にあると、デバッガによって +使われる行数の配列を更新していませんでした。 +これは 5.14 で部分的に修正されましたが、ひとつの eval に +C<#line 42 foo> が一つしかない場合にのみ動作していました。 +複数あっても動作するように修正されました。 =item * @@ -6718,15 +6697,16 @@ =end original -In Perl 5.6, C<-l> followed by anything other than a bareword would treat -its argument as a file name. That was changed in 5.8 for glob references -(C<\*foo>), but not for globs themselves (C<*foo>). C<-l> started -returning C for glob references without setting the last -stat buffer that the "_" handle uses, but only if warnings -were turned on. With warnings off, it was the same as 5.6. -In other words, it was simply buggy and inconsistent. Now the 5.6 -behaviour has been restored. -(TBT) +Perl 5.6 では、C<-l> に引き続いて裸の単語以外のものがあると、引数を +ファイル名として扱っていました。 +これは 5.8 でグロブリファレンス (C<\*foo>) に対しては変更されましたが、 +グロブ自体 (C<*foo>) に対しては変更されませんでした。 +C<-l> は、"_" ハンドルが使う直前の stat バッファの設定がない場合は、 +グロブリファレンスに対しては C を返していましたが、これは +warnings がオンの場合のみでした。 +warnings はオフの場合、これは 5.6 と同じです。 +言い換えると、これは単純にバグ持ちで一貫性がありません。 +今では 5.6 での振る舞いが復活しました。 =item * @@ -6739,11 +6719,10 @@ =end original -C<-l> followed by a bareword no longer "eats" the previous argument to -the list operator in whose argument list it resides. +C<-l> に引き続いて裸の単語があっても、存在する引数リストのリスト演算子への +前の引数を「食べる」ことはなくなりました。 従って、C<-l> はもう前の引数を食べないので、C は 実際には "bar" を表示します。 -(TBT) =item * @@ -6938,9 +6917,8 @@ =end original -C was not scoping its implicit $_ properly, resulting in memory -leaks or "Variable is not available" warnings [perl #94682]. -(TBT) +C は暗黙の $_ を正しくスコープしていなかったので、メモリリークや +"Variable is not available" 警告を発生させていました [perl #94682]。 =item * @@ -6953,8 +6931,9 @@ =end original -C was not calling set-magic on the implicit lexical C<$_> that it -uses. This meant, for example, that C would be remembered from one +C は、使っている暗黙のレキシカルな C<$_> に set-magic を +呼び出していませんでした。 +つまり、例えば、C would be remembered from one execution of the same C block to the next, even if the input were a different variable [perl #84526]. (TBT) @@ -6968,9 +6947,8 @@ =end original -C blocks are now capable of returning variables declared inside the -enclosing C block [perl #93548]. -(TBT) +C ブロックは取り囲んでいる C ブロックの内側で宣言された変数を +返すことができるようになりました [perl #93548]。 =back @@ -6990,10 +6968,10 @@ =end original -On OSes other than VMS, Perl's C operator (and the C<< <...> >> form) -use L underneath. L splits the pattern into words, -before feeding each word to its C function. -(TBT) +VMS 以外の OS では、Perl の C 演算子 (および C<< <...> >> 形式) は、 +水面下で L を使っています。 +L は、取得したそれぞれの単語を C 関数に渡す前に、 +パターンを単語に分割しています。 =begin original @@ -7007,14 +6985,14 @@ =end original -There were several inconsistencies in the way the split was done. Now -quotation marks (' and ") are always treated as shell-style word delimiters -(that allow whitespace as part of a word) and backslashes are always -preserved, unless they exist to escape quotation marks. Before, those -would only sometimes be the case, depending on whether the pattern -contained whitespace. Also, escaped whitespace at the end of the pattern -is no longer stripped [perl #40470]. -(TBT) +分割を行う方法にいくつかの非一貫性がありました。 +引用符 (' と ") は常にシェル風単語デリミタとして扱い(これにより空白を +単語の一部にできます)、バックスラッシュは引用符をエスケープするために +存在しているのでない限り常に保存されるようになりました。 +以前は、これはパターンに空白を含んでいるかによって一部の場合にしか +このような動作になっていませんでした。 +また、パターンの末尾のエスケープされたくうはくは削除されなくなりました +[perl #40470]。 =item * @@ -7078,8 +7056,9 @@ Lvalue subroutines used to enforce lvalue syntax (i.e., whatever can go on the left-hand side of C<=>) for the last statement and the arguments to -return. Since lvalue subroutines are not always called in lvalue context, -this restriction has been lifted. +return. +左辺値サブルーチンはいつも左辺値コンテキストで呼ばれるわけではないので、 +この制限は取り除かれました。 (TBT) =item * @@ -7092,10 +7071,9 @@ =end original -Lvalue subroutines are less restrictive about what values can be returned. -It used to croak on values returned by C and C and from -other subroutines, but no longer does so [perl #71172]. -(TBT) +左辺値サブルーチンはどんな値を返せるかに関する制限が緩められました。 +以前は C や Cで返されたり、他のサブルーチンからの値では +croak していましたが、もはやそうならなくなりました [perl #71172]。 =item * @@ -7107,10 +7085,11 @@ =end original -Empty lvalue subroutines (C) used to return C<@_> in list -context. All subroutines used to do this, but regular subs were fixed in -Perl 5.8.2. Now lvalue subroutines have been likewise fixed. -(TBT) +空の左辺値サブルーチン (C) はリストコンテキストでは +C<@_> を返していました。 +以前は全てのサブルーチンでそうでしたが、通常のサブルーチンに関しては +Perl 5.8.2 で修正されました。 +今回左辺値サブルーチンに関しても修正されました。 =item * @@ -7156,12 +7135,11 @@ =end original -When called in potential lvalue context -(e.g., subroutine arguments or a list -passed to C), lvalue subroutines used to copy -any read-only value that was returned. E.g., C< sub :lvalue { $] } > -would not return C<$]>, but a copy of it. -(TBT) +潜在的な左辺値コンテキスト (例えばサブルーチンの引数や C に渡された +リスト) で呼び出されたとき、左辺値サブルーチンは返された読み込み専用の値を +コピーしていました。 +例えば、C< sub :lvalue { $] } > は C<$]> ではなく、そのコピーを +返していました。 =item * @@ -7180,8 +7158,8 @@ arrays or hashes used to bind the arrays or hashes to scalar variables, resulting in bugs. This was fixed in 5.14.0 if an array were the first thing returned from the subroutine (but not for C<$scalar, @array> or -hashes being returned). Now a more general fix has been applied -[perl #23790]. +hashes being returned). +今回より一般的な修正が適用されました [perl #23790]。 (TBT) =item * @@ -7197,8 +7175,8 @@ Method calls whose arguments were all surrounded with C or C (as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on -the subroutine. This would prevent lvalue methods from returning certain -values. +the subroutine. +これは左辺値メソッドがある種の値を返すのを妨げていました。 (TBT) =item * @@ -7246,8 +7224,9 @@ Non-lvalue sub calls whose subs I visible at compile time exhibited the opposite bug. If the call occurred in the last statement of an lvalue subroutine, there would be no error when the lvalue sub was called in -lvalue context. Perl would blindly assign to the temporary value returned -by the non-lvalue subroutine. +lvalue context. +Perl は非左辺値サブルーチンによって返された一時的な値に盲目的に +代入していました。 (TBT) =item * @@ -7279,7 +7258,7 @@ Applying the C<:lvalue> attribute to an XSUB or to an aliased subroutine stub with C<< sub foo :lvalue; >> syntax stopped working in Perl 5.12. -This has been fixed. +これは修正されました。 (TBT) =item * @@ -7297,8 +7276,8 @@ Applying the :lvalue attribute to subroutine that is already defined does not work properly, as the attribute changes the way the sub is compiled. Hence, Perl 5.12 began warning when an attempt is made to apply the -attribute to an already defined sub. In such cases, the attribute is -discarded. +attribute to an already defined sub. +このような場合、属性は捨てられます。 (TBT) =begin original @@ -7433,10 +7412,9 @@ =end original -The prototypes of several built-in functions--C, C, -C and C -- が修正されたり、少なくとも以前よりはより実際に +近いものになりました。 =back @@ -7458,10 +7436,9 @@ =end original -C and C now use locale rules under -C when the platform supports that. Previously, they used -the platform's native character set. -(TBT) +C と C は、プラットフォームが対応していれば +C のときにロケールのルールを使います。 +以前は、プラットフォームのネイティブな文字集合を使っていました。 =item * @@ -7474,11 +7451,10 @@ =end original -C and C now match identically (when not -under a differing locale). This fixes a regression introduced in 5.14 -in which the first expression could match characters outside of ASCII, -such as the KELVIN SIGN. -(TBT) +C と C は (異なったロケールのもとでは) +同じようにマッチングしなくなりました。 +これは 5.14 で作り込まれた、最初の表現が KELVIN SIGN のような +ASCII の範囲外の文字にもマッチングしていた退行の修正です。 =item * @@ -7489,10 +7465,9 @@ =end original -C would sometimes refuse to match at the end of a string that ends -with "\n". +C はときどき "\n" で終わっている文字列の末尾に +マッチングしていませんでした。 これは修正されました [perl #109206]。 -(TBT) =item * @@ -7505,7 +7480,7 @@ =end original -Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up +5.12.0 から、Perl は used to get its internal bookkeeping muddled up after assigning C<${ qr// }> to a hash element and locking it with L. これにより二重解放、クラッシュ、間違った振る舞いを引き起こしていました。 @@ -7522,11 +7497,10 @@ =end original -The new (in 5.14.0) regular expression modifier C when repeated like -C forbids the characters outside the ASCII range that match -characters inside that range from matching under C. +新しい (5.14.0 からの) 正規表現修飾子 C が C のように +繰り返されると、C の基ではマッチングする範囲内の文字で、ASCII の +範囲外の文字を禁止します。 これは一部の状況では動作していませんでした; 次のような全てに関連する選択は: -(TBT) "\N{KELVIN SIGN}" =~ /k|foo/iaa; @@ -7718,10 +7692,10 @@ =end original -RT #78266: The regex engine has been leaking memory when accessing +RT #78266: 正規表現エンジンは、has been leaking memory when accessing named captures that weren't matched as part of a regex ever since 5.10 -when they were introduced; e.g., this would consume over a hundred MB of -memory: +when they were introduced; 例えば、以下のコードは 100 MB 以上のメモリを +消費していました: (TBT) for (1..10_000_000) { @@ -7768,7 +7742,7 @@ =end original -A regression has been fixed that was introduced in 5.14, in C +5.14 で作り込まれた退行が修正されました; in C regular expression matching, in which a match improperly fails if the pattern is in UTF-8, the target string is not, and a Latin-1 character precedes a character in the string that should match the pattern. @@ -7834,8 +7808,8 @@ and C<\B> escape sequences did not work properly on UTF-8 encoded strings. All non-ASCII characters under C should be treated as non-word characters, but what was happening was that Unicode rules were -used to determine wordness/non-wordness for non-ASCII characters. This -is now fixed [perl #95968]. +used to determine wordness/non-wordness for non-ASCII characters. +これは修正されました [perl #95968]。 (TBT) =item * @@ -7882,10 +7856,9 @@ =end original -それでもなお、これらのコードブロックはまだ実験的で、as there are still -problems with the wrong variables being closed over (in loops for instance) -and with abnormal exiting (e.g., C) causing memory corruption. -(TBT) +それでもなお、これらのコードブロックはまだ実験的で、(例えばループ中で) +間違った変数が閉じ込められたり、正常でない終了(例えば C)でメモリ破壊が +起きるという問題があります。 =item *