[perldocjp-cvs 1440] CVS update: docs/perl/5.16.0

Back to archive index

argra****@users***** argra****@users*****
2012年 5月 21日 (月) 18:45:04 JST


Index: docs/perl/5.16.0/perl5160delta.pod
diff -u docs/perl/5.16.0/perl5160delta.pod:1.21 docs/perl/5.16.0/perl5160delta.pod:1.22
--- docs/perl/5.16.0/perl5160delta.pod:1.21	Sat May 19 19:31:03 2012
+++ docs/perl/5.16.0/perl5160delta.pod	Mon May 21 18:45:04 2012
@@ -89,7 +89,7 @@
 
 このリリース以降、C<use v5.16> のようなバージョン宣言は、新しい機能が
 有効になる前の全ての機能が無効になるようになりました。
-これは、以下のようなものが真であることを意味します:
+これにより、以下のようなものが真になります:
 
     use 5.016;
     # only 5.16 features enabled here
@@ -294,9 +294,9 @@
 
     my $string = "string";
     my $lvalue = \substr $string, -4, 2;
-    print $lvalue, "\n"; # prints "ri"
+    print $$lvalue, "\n"; # prints "ri"
     $string = "bailing twine";
-    print $lvalue, "\n"; # prints "wi"; used to print "il"
+    print $$lvalue, "\n"; # prints "wi"; used to print "il"
 
 =begin original
 
@@ -373,12 +373,12 @@
 アプリケーションをつまずかせるかもしれない変更の一つは、
 Latin-1 の範囲にある二つの文字 PILCROW SIGN および SECTION SIGN の
 一般カテゴリは Other_Symbol から Other_Punctuation に変更されました。
-同じ変更は Tibetan, Ethiopic, Aegean の文字に対しても行われました。
+同じ変更はチベット語、エチオピア語、エーゲ語の文字に対しても行われました。
 符号位置 U+3248..U+324F (CIRCLED NUMBER TEN ON BLACK SQUARE から
 CIRCLED NUMBER EIGHTY ON BLACK SQUARE) の一般カテゴリは
 Other_Symbol から Other_Numeric に変更されました。
-Line Break 特性は Hebrew と Japanese で変更されました; そして 6.1 での
-その他の変更により、Perl の正規表現構造 C<\X> は Thai と Lao の
+Line Break 特性はヘブライ語と日本語で変更されました; そして 6.1 での
+その他の変更により、Perl の正規表現構造 C<\X> はタイとラオスの
 いくつかの文字では異なった動作をします。
 
 =begin original
@@ -735,7 +735,7 @@
 
 which tells Perl to use all but the C<LC_CTYPE> and C<LC_COLLATE>
 portions of the current locale.  Instead, the character set is assumed
-to be Unicode.  This allows locales and Unicode to be seamlessly mixed,
+to be Unicode.  This lets locales and Unicode be seamlessly mixed,
 including the increasingly frequent UTF-8 locales.  When using this
 hybrid form of locales, the C<:locale> layer to the L<open> pragma can
 be used to interface with the file system, and there are CPAN modules
@@ -1213,8 +1213,8 @@
 受け付けていました。
 この変更により組み込みの C<read> 関数と C<recv> 関数が(特に)引数を
 パースする方法と一貫性があるようになります。
-これは、同じ方法で引数をパースするカスタムサブルーチンで組み込み関数を
-オーバーライドできることを意味します。
+これにより、同じ方法で引数をパースするカスタムサブルーチンで組み込み関数を
+オーバーライドできるようになります。
 
 =head3 C<_> in subroutine prototypes
 
@@ -1300,9 +1300,9 @@
 
 =begin original
 
-A hypothetical bug (probably non-exploitable in practice) due to the
+A hypothetical bug (probably unexploitable in practice) because the
 incorrect setting of the effective group ID while setting C<$(> has been
-fixed.  The bug would only have affected systems that have C<setresgid()>
+fixed.  The bug would have affected only systems that have C<setresgid()>
 but not C<setregid()>, but no such systems are known to exist.
 
 =end original
@@ -1539,7 +1539,7 @@
 =begin original
 
 PerlIO supports a C<stdio> layer if stdio use is desired, and similarly a
-sfio layer could be produced. 
+sfio layer could be produced.
 
 =end original
 
@@ -1760,7 +1760,7 @@
 未定義として扱い、"uninitialized" 警告を出力していました。
 今では __ANONIO__ と文字列化されます [perl #96326]。
 
-=head2 User-defined case changing operations
+=head2 User-defined case-changing operations
 
 (ユーザー定義大文字変更操作)
 
@@ -1838,7 +1838,7 @@
 
 型グロブを代入された後のスカラを tie しようとすると、代わりに型グロブの
 IO スロットにあるハンドルが tie されます。
-これは、スカラ自身を tie することが不可能になると言うことを意味します。
+これにより、スカラ自身を tie することが不可能になります。
 似たような問題は C<tied> と C<untie> に影響を与えます: C<tied $scalar> は
 最後に返されたものが型グロブの場合は tie されたスカラに偽を返し、
 そのような tie されたスカラに C<untie $scalar> しても何も起きません。
@@ -1940,8 +1940,8 @@
 
 =end original
 
-これは、C<getppid()> は C<$$> と同様に、perl がキャッシュしたものではなく
-OS が考えているプロセスの現在の状態を常に返すと言うことを意味まします。
+これにより、C<getppid()> は C<$$> と同様に、perl がキャッシュしたものではなく
+OS が考えているプロセスの現在の状態を常に返すことになります。
 
 =begin original
 
@@ -2072,12 +2072,11 @@
 行われます。
 これは、例えば 1000 アイテムの特性の最悪の場合で 1000 回ではなく 10 回の
 調査になることを意味します。
-この効率の悪さは
-has been compensated for in the past by permanently storing
-in a hash the results of a given probe plus the results for the adjacent
-64 code points, under the theory that near-by code points are likely to
-be searched for.  A separate hash was used for each mention of a Unicode
-property in each regular expression.
+この効率の悪さは、過去に一つのハッシュ内に調査の結果と、
+近くの符号位置を探されることになりやすいという法則の下、隣接する 64
+符号位置の結果を永続的に補完することで埋め合わされていました。
+それぞれの正規表現にタイするそれぞれの Unicode 特性への言及に対して
+別々のハッシュが使われます。
 従って、C<qr/\p{foo}abc\p{foo}/> は二つのハッシュを生成します。
 一つのインスタンスでの調査はもう一つには知られることはなく、正規表現が
 多くの異なった広く分割される符号位置で使われるとかなり大きくそれぞれに
@@ -2449,13 +2448,13 @@
 
 =begin original
 
-L<charnames> can now be invoked with a new option, C<:loose>,
+C<charnames> can now be invoked with a new option, C<:loose>,
 which is like the existing C<:full> option, but enables Unicode loose
 name matching.  Details are in L<charnames/LOOSE MATCHES>.
 
 =end original
 
-L<charnames> は新しいオプションである C<:loose> 付きで起動でき、
+C<charnames> は新しいオプションである C<:loose> 付きで起動でき、
 その場合既にある C<:full> オプションと同様ですが、Unicode の緩い
 名前マッチングを友好にします。
 詳細は L<charnames/LOOSE MATCHES> にあります。
@@ -2899,10 +2898,6 @@
 
 L<IPC::Open3> はバージョン 1.09 から 1.12 に更新されました。
 
-=over 4
-
-=item *
-
 =begin original
 
 Fixes a bug which prevented use of C<open3> on Windows when C<*STDIN>,
@@ -2913,8 +2908,6 @@
 C<*STDIN>, C<*STDOUT>, C<*STDERR> がローカル化されているときに、
 Windows で C<open3> が使えないバグが修正されました。
 
-=item *
-
 =begin original
 
 Fixes a bug which prevented duplicating numeric file descriptors on Windows.
@@ -2923,8 +2916,6 @@
 
 Windows で数値ファイル記述子の複製が出来ないバグが修正されました。
 
-=item *
-
 =begin original
 
 C<open3> with "-" for the program name works once more.  This was broken in
@@ -2935,8 +2926,6 @@
 C<open3> でのプログラム名としての "-" が再び動作するようになりました。
 これはバージョン 1.06 (従って Perl 5.14.0) で壊れていました [perl #95748]。
 
-=back
-
 =item *
 
 =begin original
@@ -3470,13 +3459,11 @@
 
 =end original
 
-C<sigsuspend> と C<pause> は帰る前にシグナルハンドラを実行するように
-なりました; as the
-whole point of these two functions is to wait until a signal has
-arrived, and then return I<after> it has been triggered.
+C<sigsuspend> と C<pause> は返る前にシグナルハンドラを実行するように
+なりました; これら二つの関数のポイントはシグナルが届くまで待って、それから
+それが起動された I<後に> 返ることだからです。
 遅延、またの名を「安全」シグナルは、これが起きることによって競合条件が
 起きることがある可能性を防ぎます [perl #107216]。
-(TBT)
 
 =begin original
 
@@ -3792,25 +3779,50 @@
 
 =begin original
 
-C<Devel::DProf> has been removed from the Perl core.  Prior version was
+L<Devel::DProf> has been removed from the Perl core.  Prior version was
 20110228.00.
 
 =end original
 
-C<Devel::DProf> は Perl コアから削除されました。
+L<Devel::DProf> は Perl コアから削除されました。
 以前のバージョンは 20110228.00 でした。
 
 =item *
 
 =begin original
 
-C<Shell> has been removed from the Perl core.  Prior version was 0.72_01.
+L<Shell> has been removed from the Perl core.  Prior version was 0.72_01.
 
 =end original
 
-C<Shell> は Perl コアから削除されました。
+L<Shell> は Perl コアから削除されました。
 以前のバージョンは 0.72_01 でした。
 
+=item *
+
+=begin original
+
+Several old perl4-style libraries which have been deprecated with 5.14
+are now removed:
+
+=end original
+
+5.14 で非推奨になったいくつかの古い perl4 形式のライブラリは削除されました:
+
+    abbrev.pl assert.pl bigfloat.pl bigint.pl bigrat.pl cacheout.pl
+    complete.pl ctime.pl dotsh.pl exceptions.pl fastcwd.pl flush.pl
+    getcwd.pl getopt.pl getopts.pl hostname.pl importenv.pl
+    lib/find{,depth}.pl look.pl newgetopt.pl open2.pl open3.pl
+    pwd.pl shellwords.pl stat.pl tainted.pl termcap.pl timelocal.pl
+
+=begin original
+
+They can be found on CPAN as L<Perl4::CoreLibs>.
+
+=end original
+
+これらは CPAN の L<Perl4::CoreLibs> にあります。
+
 =back
 
 =head1 Documentation
@@ -4374,6 +4386,8 @@
 
 =head3 Development Deltas
 
+(開発版の差分)
+
 =begin original
 
 The perldelta files for development releases are no longer packaged with
@@ -4923,6 +4937,8 @@
 
 =head1 Configuration and Compilation
 
+(設定とコンパイル)
+
 =over 4
 
 =item *
@@ -5155,6 +5171,8 @@
 Perl がこの環境でビルドされると、ディレクトリとファイル名は
 UTF-8 エンコードされます。
 
+=item *
+
 =begin original
 
 Cygwin does not initialize all original Win32 environment variables.  See
@@ -5212,6 +5230,8 @@
 F<vms/vms.c> にある不必要なインクルードを削除し、様々なコンパイラ警告を
 修正し、いくつかの閉じていないコメントを閉じました。
 
+=item *
+
 =begin original
 
 Remove sockadapt layer from the VMS build.
@@ -5269,6 +5289,10 @@
 
 =head3 GNU/Hurd
 
+=over 4
+
+=item *
+
 =begin original
 
 Numerous build and test failures on GNU/Hurd have been resolved with hints
@@ -5281,8 +5305,14 @@
 ヒント、ライブラリ検索パスの検出、大容量ファイル対応の有効化によって
 解決しました。
 
+=back
+
 =head3 OpenVOS
 
+=over 4
+
+=item *
+
 =begin original
 
 Perl is now built with dynamic linking on OpenVOS, the minimum supported
@@ -5293,6 +5323,8 @@
 Perl は OpenVOS の動的リンクでビルドできるようになり、最小対応バージョンが
 リリース 17.1.0 になりました。
 
+=back
+
 =head3 SunOS
 
 =begin original
@@ -5529,15 +5561,13 @@
 
 =end original
 
-The returned code point from the function C<utf8n_to_uvuni()>
-when the input is malformed UTF-8, malformations are allowed, and
-C<utf8> warnings are off is now the Unicode REPLACEMENT CHARACTER
-whenever the malformation is such that no well-defined code point can be
-computed.
+入力が不正な UTF-8 で、不正形が許されていて、C<utf8> 警告がオフのとき、
+C<utf8n_to_uvuni()> 関数から返される符号位置は、たとえ不正形が整形された
+符号位置が計算できなくても Unicode REPLACEMENT CHARACTER を
+返すようになりました。
 以前は返される値は基本的にはごみでした。
 よく知られている値の唯一の不正形は長さ 0 の文字列 (0 が返されます) と
 長すぎる UTF-8 シーケンスです。
-(TBT)
 
 =item *
 
@@ -5978,11 +6008,9 @@
 
 L<Hash::Util> に影響を与えるいくつかのコアのバグが修正されました:
 グロブコピーであるハッシュ要素をロックしても引き続く代入によって
-グロブを壊さなくなり (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)
+グロブを壊さなくなり (5.14.2)、コピーオンライトスカラを保持している
+ハッシュ要素をアンロックしても、同じ文字列バッファを共有している
+他のスカラを修正するためにそのスカラを修正しなくなりました。
 
 =back
 
@@ -6126,13 +6154,12 @@
 
 =end original
 
-C<eval $string> and C<require> used not to
-localize C<%^H> during compilation if it
-was empty at the time the C<eval> call itself was compiled.
+C<eval $string> と C<require> は、C<eval> 呼び出し自身が
+コンパイルされるときに C<%^H> が空だと、コンパイル中に
+ローカル化されていませんでした。
 これは、C<use re "/m"> が、周りのコードが呼び出し元に有効にしようとしていた
 その他のフラグを有効にする、といった恐ろしい副作用を起こす可能性が
 ありました [perl #68750]。
-(TBT)
 
 =item *
 
@@ -6382,14 +6409,15 @@
 
 =end original
 
-When subroutine calls are intercepted by the debugger, the name of the
-subroutine or a reference to it is stored in C<$DB::sub>, for the debugger
-to access.  Sometimes (such as C<$foo = *bar; undef *bar; &$foo>)
-C<$DB::sub> would be set to a name that could not be used to find the
-subroutine, and so the debugger's attempt to call it would fail.  Now the
-check to see whether a reference is needed is more robust, so those
-problems should not happen anymore [rt.cpan.org #69862].
-(TBT)
+サブルーチン呼び出しがデバッガによって中断されたとき、サブルーチンや
+そのリファレンスの名前はデバッガがアクセスするために C<$DB::sub> に
+補完されます。
+ときどき (C<$foo = *bar; undef *bar; &$foo> のように) C<$DB::sub> は
+サブルーチンを探すために使えない名前が設定されることがあり、
+それでデバッガが呼び出そうとすると失敗することがあります。
+リファレンスをより堅牢にする必要があるかどうかを
+チェックするようになったので、このような問題はもはや起きないはずです
+[rt.cpan.org #69862]。
 
 =item *
 
@@ -6402,11 +6430,12 @@
 
 =end original
 
-Every subroutine has a filename associated with it that the debugger uses.
-The one associated with constant subroutines used to be misallocated when
-cloned under threads.  Consequently, debugging threaded applications could
-result in memory corruption [perl #96126].
-(TBT)
+全てのサブルーチンはデバッガで使用するためにファイル名と
+結びつけられています。
+定数サブルーチンと結びつけられたものは、スレッド中にクローン化されると
+間違って割り当てられていました。
+結果として、スレッドアプリケーションをデバッグするとメモリ破壊を
+引き起こすことがありました [perl #96126]。
 
 =back
 
@@ -6428,12 +6457,13 @@
 
 =end original
 
-C<defined(${"..."})>, C<defined(*{"..."})>, etc., used to
-return true for most, but not all built-in variables, if
-they had not been used yet.  This bug affected C<${^GLOBAL_PHASE}> and
-C<${^UTF8CACHE}>, among others.  It also used to return false if the
-package name was given as well (C<${"::!"}>) [perl #97978, #97492].
-(TBT)
+C<defined(${"..."})>, C<defined(*{"..."})> などはほとんどの場合真を
+返しますが、まだ使われていない場合は全ての組み込み変数に対して
+返すわけではありませんでした。
+このバグは特に C<${^GLOBAL_PHASE}> と C<${^UTF8CACHE}> に影響を
+与えていました。
+また、パッケージ名が同様に与えられると (C<${"::!"}>)、偽を
+返していました [perl #97978, #97492]。
 
 =item *
 
@@ -6446,11 +6476,11 @@
 
 =end original
 
-Perl 5.10.0 introduced a similar bug: C<defined(*{"foo"})> where "foo"
-represents the name of a built-in global variable used to return false if
-the variable had never been used before, but only on the I<first> call.
-This, too, has been fixed.
-(TBT)
+Perl 5.10.0 では似たようなバグが作り込まれました: C<defined(*{"foo"})>
+(ここで "foo" は組み込みグローバル変数の名前) は、それまでに全く
+使われていない場合に偽を返していましたが、これは I<最初の> 呼び出し
+だけでした。
+これも修正されました。
 
 =item *
 
@@ -6465,19 +6495,19 @@
 
 =end original
 
-Since 5.6.0, C<*{ ... }> has been inconsistent in how it treats undefined
-values.  It would die in strict mode or lvalue context for most undefined
-values, but would be treated as the empty string (with a warning) for the
-specific scalar return by C<undef()> (C<&PL_sv_undef> internally).  This
-has been corrected.  C<undef()> is now treated like other undefined
-scalars, as in Perl 5.005.
-(TBT)
+5.6.0 から、C<*{ ... }> は未定義値の扱いに非一貫性がありました。
+ほとんどの未定義値については strict モードや左辺値コンテキストでは
+die していましたが、C<undef()> (内部では C<&PL_sv_undef>) から返された
+特定のスカラに対しては (警告付きで) 空文字列として扱われていました。
+これは修正されました。
+C<undef()> は、Perl 5.005 と同様、他の未定義スカラと同じように
+扱われるようになりました。
 
 =back
 
 =head2 Filehandle, last-accessed
 
-(ファイルハンドル、最終更新)
+(ファイルハンドル、最終アクセス)
 
 =begin original
 
@@ -6504,11 +6534,9 @@
 
 =end original
 
-It used to be possible to set this internal variable to a glob copy and
-then modify that glob copy to be something other than a glob, and still
-have the last-accessed filehandle associated with the variable after
-assigning a glob to it again:
-(TBT)
+この内部変数をグロブコピーに設定して、それからグロブコピーを何かグロブと
+違うものに変更しても、再びグロブに代入した後変数に割り当てられた
+最終アクセスファイルハンドルを保持していることが可能でした:
 
     my $foo = *STDOUT;  # $foo is a glob copy
     <$foo>;             # $foo is now the last-accessed handle
@@ -6523,10 +6551,8 @@
 
 =end original
 
-Now the C<$foo = 3> assignment unsets that internal variable, so there
-is no last-accessed filehandle, just as if C<< <$foo> >> had never
-happened.
-(TBT)
+今では C<$foo = 3> 代入はこの内部変数を解除するので、C<< <$foo> >> が
+行われなかったかのように、最終アクセスファイルハンドルはありません。
 
 =begin original
 
@@ -6536,10 +6562,9 @@
 
 =end original
 
-This also prevents some unrelated handle from becoming the last-accessed
-handle if $foo falls out of scope and the same internal SV gets used for
-another handle [perl #97988].
-(TBT)
+これはまた、$foo がスコープから外れて、同じ内部 SV が他のハンドルのために
+使われると、いくつかの関係のないハンドルが最終アクセスハンドルに
+なるということも防ぎます [perl #97988]。
 
 =item *
 
@@ -6586,11 +6611,11 @@
 
 =end original
 
-The term "filetests" refers to the operators that consist of a hyphen
-followed by a single letter: C<-r>, C<-x>, C<-M>, etc.  The term "stacked"
-when applied to filetests means followed by another filetest operator
-sharing the same operand, as in C<-r -x -w $fooo>.
-(TBT)
+「ファイルテスト」という用語は、ハイフンの後に一文字が続く形の演算子を
+意味します: C<-r>, C<-x>, C<-M> など。
+ファイルテストに対して適用された「スタックされた」という用語は、
+C<-r -x -w $fooo> のように、同じオペランドを共有するもう一つの
+ファイルテスト演算子を意味します。
 
 =over
 
@@ -6605,11 +6630,11 @@
 
 =end original
 
-C<stat> produces more consistent warnings.  It no longer warns for "_"
-[perl #71002] and no longer skips the warning at times for other unopened
-handles.  It no longer warns about an unopened handle when the operating
-system's C<fstat> function fails.
-(TBT)
+C<stat> はより一貫性のある警告を出力します。
+"_" に対する警告は出さなくなり [perl #71002]、その他の開いていないハンドルに
+対して警告をスキップしなくなりました。
+オペレーティングシステムの C<fstat> 関数が失敗したときに開いていない
+ハンドルに対して警告を出さなくなりました。
 
 =item *
 
@@ -6675,12 +6700,11 @@
 
 =end original
 
-5.14.0 では、ファイルテスト演算子 (C<-r>, C<-x> など) は started calling FETCH on a
-tied argument belonging to the previous argument to a list operator, if
-called with a bareword argument or no argument at all.
+5.14.0 では、ファイルテスト演算子 (C<-r>, C<-x> など) は、裸の単語の
+引数で呼び出されたり引数なしで呼び出されたりすると、リスト演算子への
+以前の引数に従って tie された引数の FETCH を呼び出していました。
 これは修正され、C<push @foo, $tied, -r> はもはや C<$tied> の FETCH を
 呼び出さなくなりました。
-(TBT)
 
 =item *
 
@@ -6693,7 +6717,7 @@
 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.
+behavior has been restored.
 
 =end original
 
@@ -6734,10 +6758,9 @@
 
 =end original
 
-Perl keeps several internal variables to keep track of the last stat
-buffer, from which file(handle) it originated, what type it was, and
-whether the last stat succeeded.
-(TBT)
+Perl は直前の stat バッファを記録するためのいくつかの内部変数が
+あります; どのファイル(ハンドル)からか、どの型か、直前の stat が
+成功したかです。
 
 =begin original
 
@@ -6747,10 +6770,9 @@
 
 =end original
 
-There were various cases where these could get out of synch, resulting in
-inconsistent or erratic behavior in edge cases (every mention of C<-T>
-applies to C<-B> as well):
-(TBT)
+これらが同期しなくなる様々な状況があり、エッジケースでは一貫性が
+なかったり間違った振る舞いになっていました (C<-T> に対する言及に関しては
+C<-B> にも同様に適用されます):
 
 =over
 
@@ -6764,10 +6786,10 @@
 
 =end original
 
-C<-T I<HANDLE>>, even though it does a C<stat>, was not resetting the last
-stat type, so an C<lstat _> following it would merrily return the wrong
-results.  Also, it was not setting the success status.
-(TBT)
+C<-T I<HANDLE>> は、たとえ C<stat> を行っても、最終 stat 型を
+リセットしていなかったので、その後の C<lstat _> は間違った結果を
+返していました。
+また、成功ステータスを設定していませんでした。
 
 =item *
 
@@ -6778,9 +6800,8 @@
 
 =end original
 
-Freeing the handle last used by C<stat> or a filetest could result in
-S<C<-T _>> using an unrelated handle.
-(TBT)
+直前に C<stat> やファイルテストで使われたハンドルを解放すると
+S<C<-T _>> は関係のないハンドルを使っていました。
 
 =item *
 
@@ -6791,9 +6812,8 @@
 
 =end original
 
-C<stat> with an IO reference would not reset the stat type or record the
-filehandle for S<C<-T _>> to use.
-(TBT)
+IO リファレンスの C<stat> は stat 型や S<C<-T _>> で使うための
+ファイルハンドルをリセットしていませんでした。
 
 =item *
 
@@ -6805,10 +6825,10 @@
 
 =end original
 
-Fatal warnings could cause the stat buffer not to be reset
-for a filetest operator on an unopened filehandle or C<-l> on any handle.
-Fatal warnings also stopped C<-T> from setting C<$!>.
-(TBT)
+致命的エラーでは開いていないファイルハンドルへのファイルテストや
+任意のハンドルへの C<-l> のための stat バッファは
+リセットしていませんでした。
+致命的エラーは C<-T> が C<$!> を設定するのも止めていました。
 
 =item *
 
@@ -6820,10 +6840,11 @@
 
 =end original
 
-When the last stat was on an unreadable file, C<-T _> is supposed to
-return C<undef>, leaving the last stat buffer unchanged.  But it was
-setting the stat type, causing C<lstat _> to stop working.
-(TBT)
+最終の stat が読み込めないファイルに対してのものだったとき、
+C<-T _> は、最終 stat バッファを変更せずに C<undef> を返すことを
+想定していました。
+しかしこれは stat 型をセットしていたので、C<lstat _> が
+動作しなくなっていました。
 
 =item *
 
@@ -6868,11 +6889,9 @@
 =end original
 
 フォーマットと C<formline> に関するいくつかのエッジケースが修正されました;
-in particular, where the format itself is potentially variable (such as
-with ties and overloading), and where the format and data differ in their
-encoding.  In both these cases, it used to possible for the output to be
-corrupted [perl #91032].
-(TBT)
+特に、フォーマット自身が(tie やオーバーロードのような)潜在的な変数の場合、
+そしてフォーマットとデータのエンコーディングが違う場合です。
+両方の場合で、出力が壊れる可能性がありました [perl #91032]。
 
 =item *
 
@@ -6933,10 +6952,9 @@
 
 C<given> は、使っている暗黙のレキシカルな C<$_> に set-magic を
 呼び出していませんでした。
-つまり、例えば、C<pos> would be remembered from one
-execution of the same C<given> block to the next, even if the input were a
-different variable [perl #84526].
-(TBT)
+つまり、例えば C<pos> は、たとえ入力が異なった変数でも、同じ
+C<given> ブロック内での一つ目の実行から次のものへ覚えていました
+[perl #84526]。
 
 =item *
 
@@ -7054,12 +7072,10 @@
 
 =end original
 
-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.
+左辺値サブルーチンは、最後の文と return への引数について左辺値文法
+(つまり C<=> の左側になれるか) を強制します。
 左辺値サブルーチンはいつも左辺値コンテキストで呼ばれるわけではないので、
 この制限は取り除かれました。
-(TBT)
 
 =item *
 
@@ -7154,13 +7170,13 @@
 
 =end original
 
-When called in potential lvalue context, an lvalue subroutine returning
-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).
-今回より一般的な修正が適用されました [perl #23790]。
-(TBT)
+潜在的な左辺値コンテキストで呼び出されると、配列やハッシュを返す
+左辺値サブルーチンは配列やハッシュをスカラ変数に割り当てて、バグを
+引き起こしていました。
+これは、配列がサブルーチンから返される最初のものである場合については
+5.14.0 で修正されました (しかし C<$scalar, @array> やハッシュが返される
+場合は修正されませんでした)。
+今回、より一般的な修正が適用されました [perl #23790]。
 
 =item *
 
@@ -7173,11 +7189,10 @@
 
 =end original
 
-Method calls whose arguments were all surrounded with C<my()> or C<our()>
-(as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on
-the subroutine.
+(C<< $object->method(my($a,$b)) >> のように) 引数が全て C<my()> または
+C<our()> で囲まれているメソッド呼び出しは、サブルーチンで左辺値
+コンテキストを強制していました。
 これは左辺値メソッドがある種の値を返すのを妨げていました。
-(TBT)
 
 =item *
 
@@ -7189,10 +7204,9 @@
 
 =end original
 
-Lvalue sub calls that are not determined to be such at compile time
-(C<&$name> or &{"name"}) are no longer exempt from strict refs if they
-occur in the last statement of an lvalue subroutine [perl #102486].
-(TBT)
+(C<&$name> または &{"name"} のような)コンパイル時に決定されない
+左辺値サブルーチン呼び出しは、左辺値サブルーチンの最後の文で起きても
+strict refs が適用されるようになりました [perl #102486]。
 
 =item *
 
@@ -7205,11 +7219,10 @@
 
 =end original
 
-Sub calls whose subs are not visible at compile time, if
-they occurred in the last statement of an lvalue subroutine,
-would reject non-lvalue subroutines and die with "Can't modify non-lvalue
-subroutine call" [perl #102486].
-(TBT)
+サブルーチンがコンパイル時に見えないサブルーチン呼び出しは、それが
+左辺値サブルーチンの最後の文で起きると、非左辺値サブルーチンを拒否して
+"Can't modify non-lvalue subroutine call" で die していました
+[perl #102486]。
 
 =begin original
 
@@ -7221,13 +7234,12 @@
 
 =end original
 
-Non-lvalue sub calls whose subs I<are> 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.
+コンパイル時に見えて I<いる> 非左辺値サブルーチン呼び出しには逆のバグが
+ありました。
+呼び出しが左辺値サブルーチンの最後の文だと、左辺値サブルーチンが
+左辺値コンテキストで呼び出されたときにエラーが起きませんでした。
 Perl は非左辺値サブルーチンによって返された一時的な値に盲目的に
 代入していました。
-(TBT)
 
 =item *
 
@@ -7240,11 +7252,10 @@
 
 =end original
 
-C<AUTOLOAD> routines used to take precedence over the actual sub being
-called (i.e., when autoloading wasn't needed), for sub calls in lvalue or
-potential lvalue context, if the subroutine was not visible at compile
-time.
-(TBT)
+C<AUTOLOAD> ルーチンは、サブルーチンがコンパイル時に見えていないと、
+左辺値のサブルーチン呼び出しや潜在的な左辺値コンテキストに対して、
+実際のサブルーチン呼び出し (つまりオートロードが不要の場合) よりも
+高い優先順位を持っていました。
 
 =item *
 
@@ -7256,10 +7267,9 @@
 
 =end original
 
-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.
+XSUB や C<< sub foo :lvalue; >> 文法の別名サブルーチンスタブに
+C<:lvalue> 属性を適用すると Perl 5.12 では動作していませんでした。
 これは修正されました。
-(TBT)
 
 =item *
 
@@ -7273,12 +7283,12 @@
 
 =end original
 
-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.
+既に定義されているサブルーチンへの :lvalue 属性を適用は正しく
+動作していませんでした; 属性によってサブルーチンのコンパイル方法が
+変わるからです。
+従って、Perl 5.12 から既に定義されているサブルーチンに属性を
+適用しようとすると警告が出るようになりました。
 このような場合、属性は捨てられます。
-(TBT)
 
 =begin original
 
@@ -7290,12 +7300,11 @@
 
 =end original
 
-But the change in 5.12 missed the case where custom attributes are also
-present: that case still silently and ineffectively applied the attribute.
-That omission has now been corrected.  C<sub foo :lvalue :Whatever> (when
-C<foo> is already defined) now warns about the :lvalue attribute, and does
-not apply it.
-(TBT)
+しかし、5.12 での変更は、カスタム属性もある場合が抜けていました:
+この場合は暗黙にかつ効果なく属性が適用されます。
+この抜けは修正されました。
+(C<foo> が既に定義されているとき) C<sub foo :lvalue :Whatever> は
+:lvalue 属性に対して警告を出し、適用されません。
 
 =item *
 
@@ -7308,11 +7317,11 @@
 
 =end original
 
-A bug affecting lvalue context propagation through nested lvalue subroutine
-calls has been fixed.  Previously, returning a value in nested rvalue
-context would be treated as lvalue context by the inner subroutine call,
-resulting in some values (such as read-only values) being rejected.
-(TBT)
+ネストした左辺値サブルーチン呼び出しでの左辺値コンテキストの伝搬に
+影響を与えるバグが修正されます。
+以前は、ネストした右辺値コンテキストの値を返すことは内側のサブルーチン
+呼び出しでは左辺値コンテキストとして扱われ、(読み込み専用の値のような)
+いくつかの値が拒否されていました。
 
 =back
 
@@ -7379,11 +7388,10 @@
 
 =end original
 
-The C<prototype> function no longer dies for the C<__FILE__>, C<__LINE__>
-and C<__PACKAGE__> directives.  It now returns an empty-string prototype
-for them, because they are syntactically indistinguishable from nullary
-functions like C<time>.
-(TBT)
+C<prototype> 関数は C<__FILE__>, C<__LINE__>, C<__PACKAGE__> 指示子で
+die しなくなりました。
+これらは文法的には C<time> のような引数なし関数と区別が付かないので、
+空文字列プロトタイプを返すようになりました。
 
 =item *
 
@@ -7396,11 +7404,11 @@
 
 =end original
 
-C<prototype> now returns C<undef> for all overridable infix operators,
-such as C<eq>, which are not callable in any way resembling functions.
-It used to return incorrect prototypes for some and die for others
-[perl #94984].
-(TBT)
+C<prototype> は、C<eq> のような、どのようにしても関数のように呼び出せない
+オーバーライド可能な全ての挿入演算子に対して C<undef> を
+返すようになりました。
+以前は一部は正しくないプロトタイプを返し、その他は die していました
+[perl #94984]。
 
 =item *
 
@@ -7480,11 +7488,9 @@
 
 =end original
 
-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<Hash::Util>.
+5.12.0 から、Perl は C<${ qr// }> をハッシュ要素に代入してから
+L<Hash::Util> でロックすると、内部管理が混乱していました。
 これにより二重解放、クラッシュ、間違った振る舞いを引き起こしていました。
-(TBT)
 
 =item *
 
@@ -7653,18 +7659,17 @@
 以前は、三つの Unicode 文字:
 LATIN SMALL LETTER SHARP S,
 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS,
-GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS,
-along with the sequences that they fold to
-(including "ss" for LATIN SMALL LETTER SHARP S),
-did not properly match under C</i>.  5.14.0 fixed some of these cases,
-but introduced others, including a panic when one of the characters or
-sequences was used in the C<(?(DEFINE)> regular expression predicate.
+GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+と、これらを畳み込んでいる並び (LATIN SMALL LETTER SHARP S のための
+"ss" を含みます) は、C</i> の基では正しくマッチングしていませんでした。
+5.14.0 はこれらの場合の一部を修正しましたが、文字や並びの一つが
+C<(?(DEFINE)> 正規表現述語で使われている場合に panic するなどの問題が
+ありました。
 5.14 で作り込まれた既知のバグは修正されました; 同様に今まで
 動作していなかったその他のいくつかのエッジケースも修正されました。
 これら全ては C</i> の元での大かっこ文字クラスの外側での文字や並びに
 関連するものです。
 これは [perl #98546] を閉じます。
-(TBT)
 
 =begin original
 
@@ -7675,11 +7680,10 @@
 
 =end original
 
-There remain known problems when using certain characters with
-multi-character folds inside bracketed character classes, including such
-constructs as C<qr/[\N{LATIN SMALL LETTER SHARP}a-z]/i>.
+C<qr/[\N{LATIN SMALL LETTER SHARP}a-z]/i> のような、大かっこ文字クラスの
+内側の複数文字畳み込みのある種の文字を使ったときに既知の問題が
+残っています。
 これらの残っているバグは [perl #89774] で対応しています。
-(TBT)
 
 =item *
 
@@ -7692,11 +7696,10 @@
 
 =end original
 
-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; 例えば、以下のコードは 100 MB 以上のメモリを
+RT #78266: 正規表現の一部とマッチングしなかった名前付き捕捉バッファに
+アクセスすると、これが導入された 5.10 以降ずっと、正規表現エンジンが
+メモリリークしていました; 例えば、以下のコードは 100 MB 以上のメモリを
 消費していました:
-(TBT)
 
     for (1..10_000_000) {
         if ("foo" =~ /(foo|(?<capture>bar))?/) {
@@ -7742,12 +7745,10 @@
 
 =end original
 
-5.14 で作り込まれた退行が修正されました; in C</i>
-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.
-[perl #101710]
-(TBT)
+5.14 で作り込まれた退行が修正されました; C</i> 正規表現マッチングで
+パターンが UTF-8 で、ターゲット文字列は UTF-8 ではなく、パターンに
+マッチングするはずの文字列の前に Latin-1 文字があると不適切に
+失敗していました [perl #101710]。
 
 =item *
 
@@ -7760,11 +7761,9 @@
 
 =end original
 
-In case-insensitive regular expression pattern matching, no longer on
-UTF-8 encoded strings does the scan for the start of match look only at
-the first possible position.
+大文字小文字を区別しない正規表現パターンマッチングで、UTF-8 エンコードされた
+文字列が最初の可能な位置からのみマッチングのスキャンを開始していました。
 これにより C<"f\x{FB00}" =~ /ff/i> のようなマッチングが失敗していました。
-(TBT)
 
 =item *
 
@@ -7804,13 +7803,11 @@
 
 =end original
 
-The combination of the regular expression modifiers C</aa> and the C<\b>
-and C<\B> escape sequences did not work properly on UTF-8 encoded
-strings.  All non-ASCII characters under C</aa> 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.
+正規表現修飾子 C</aa> と、C<\b> および C<\B> のエスケープシーケンスの
+組み合わせは、UTF-8 エンコードされた文字列で正しく動作していませんでした。
+C</aa> の基での全ての非 ASCII 文字は非単語文字として扱われるべきですが、
+非 ASCII 文字に対して単語/非単語の決定に Unicode の規則が使われていました。
 これは修正されました [perl #95968]。
-(TBT)
 
 =item *
 
@@ -7897,10 +7894,10 @@
 
 =end original
 
-Mentioning a variable named "&" other than C<$&> (i.e., C<@&> or C<%&>) no
-longer stops C<$&> from working.
+Mentioning a variable named "&" other than 
+C<$&> 以外で "&" がついている変数 (つまり C<@&> または C<%&>) への言及で
+C<$&> が動作しなくなっていました。
 同様のことは "'" および "`" という名前の変数にも適用されます [perl #24237]。
-(TBT)
 
 =item *
 
@@ -7968,10 +7965,9 @@
 
 =end original
 
-C<sort> was not treating C<sub {}> and C<sub {()}> as equivalent when
-such a sub was provided as the comparison routine.
+C<sort> は、サブルーチンが比較ルーチンとして提供されたときに、
+C<sub {}> と C<sub {()}> を等価であると見なしていませんでした。
 以前は C<sub {()}> で croak していました。
-(TBT)
 
 =item *
 
@@ -8012,13 +8008,12 @@
 
 =end original
 
-Warnings emitted by C<sort> when a custom comparison routine returns a
-non-numeric value now contain "in sort" and show the line number of the
-C<sort> operator, rather than the last line of the comparison routine.  The
-warnings also now occur only if warnings are enabled in the scope where
-C<sort> occurs.  Previously the warnings would occur if enabled in the
-comparison routine's scope.
-(TBT)
+カスタム比較ルーチンが非数値を返したときに C<sort> が出力する警告は
+"in sort" を含んで、比較ルーチンの最後の行ではなく、C<sort> 演算子の
+行番号を表示するようになりました。
+また、警告は C<sort> があるスコープで有効な場合にのみ出力されるように
+なりました。
+以前は警告は比較ルーチンのスコープで有効なときに発生していました。
 
 =item *
 
@@ -8028,16 +8023,15 @@
 "uninitialized" warnings for NaNs (not-a-number values), since C<< <=> >>
 returns C<undef> for those.  This brings it in line with
 S<C<< sort { 1; $a <=> $b } >>> and other more complex cases, which are not
-optimised [perl #94390].
+optimized [perl #94390].
 
 =end original
 
-C<< sort { $a <=> $b } >>, which is optimized internally, now produces
-"uninitialized" warnings for NaNs (not-a-number values), since C<< <=> >>
-returns C<undef> for those.  This brings it in line with
-S<C<< sort { 1; $a <=> $b } >>> and other more complex cases, which are not
-optimised [perl #94390].
-(TBT)
+内部で最適化される C<< sort { $a <=> $b } >> は、NaN (非数値) のとき、
+C<< <=> >> が C<undef> を返すので、"uninitialized" 警告が
+出力されるようになりました。
+最適化されない S<C<< sort { 1; $a <=> $b } >>> やもっと複雑な場合と
+同じになります [perl #94390]。
 
 =back
 
@@ -8064,8 +8058,8 @@
 =begin original
 
 That warning now occurs when the returned lvalue is assigned to, not
-when C<substr> itself is called.  This only makes a difference if the
-return value of C<substr> is referenced and assigned to later.
+when C<substr> itself is called.  This makes a difference only if the
+return value of C<substr> is referenced and later assigned to.
 
 =end original
 
@@ -8253,10 +8247,9 @@
 
 =end original
 
-Thread joining would sometimes emit "Attempt to free unreferenced scalar"
-warnings if C<caller> had been used from the C<DB> package before thread
-creation [perl #98092].
-(TBT)
+スレッドの作成前に C<DB> パッケージから C<caller> が呼び出されていると、
+スレッドの join でときどき "Attempt to free unreferenced scalar" 警告が
+出ていました [perl #98092]。
 
 =item *
 
@@ -8271,10 +8264,9 @@
 
 (C<lock &sub> によって) サブルーチンをロックしても、通常のサブルーチンに
 関してはコンパイルエラーにならなくなりました。
-左辺値サブルーチンに関しては、it no longer tries to return the
-sub as a scalar, resulting in strange side effects like C<ref \$_>
-returning "CODE" in some instances.
-(TBT)
+左辺値サブルーチンに関しては、サブルーチンをスカラとして返すことで、
+C<ref \$_> が場合によっては "CODE" を返すというようなおかしな副作用を
+起こさなくなりました。
 
 =begin original
 
@@ -8429,10 +8421,8 @@
 
 =end original
 
-Some cases of dereferencing a complex expression, such as
-C<${ (), $tied } = 1>, used to call C<FETCH> multiple times, but now call
-it once.
-(TBT)
+C<${ (), $tied } = 1> のような複雑な式をデリファレンスする場合の一部で、
+C<FETCH> が複数回呼び出されていましたが、一回だけになりました。
 
 =item *
 
@@ -8443,9 +8433,8 @@
 
 =end original
 
-C<$tied-E<gt>method> where $tied returns a package name--even resulting in
-a failure to call the method, due to memory corruption
-(TBT)
+C<$tied-E<gt>method> で $tied がパッケージ名を返すと、メモリ破壊によって
+メソッド呼び出しに失敗していました。
 
 =item *
 
@@ -8481,10 +8470,10 @@
 
 =end original
 
-C<caller> sets C<@DB::args> to the subroutine arguments when called from
-the DB package.  It used to crash when doing so if C<@DB::args> happened to
-be tied.  Now it croaks instead.
-(TBT)
+C<caller> は、DB パッケージから呼び出されたときに C<@DB::args> に
+サブルーチン引数を設定します。
+以前は C<@DB::args> が tie されているとクラッシュしていました。
+今では代わりに croak するようになりました。
 
 =item *
 
@@ -8497,11 +8486,9 @@
 
 =end original
 
-Tying an element of %ENV or C<%^H> and then deleting that element would
-result in a call to the tie object's DELETE method, even though tying the
-element itself is supposed to be equivalent to tying a scalar (the element
-is, of course, a scalar) [perl #67490].
-(TBT)
+%ENV や C<%^H> の要素を tie してからその要素を削除すると、要素自身が
+スカラに tie しているのと等価であるはずでも(要素はもちろんスカラです)、
+オブジェクトの DELETE メソッドが呼び出されていました [perl #67490]。
 
 =item *
 
@@ -8514,11 +8501,11 @@
 
 =end original
 
-When Perl autovivifies an element of a tied array or hash (which entails
-calling STORE with a new reference), it now calls FETCH immediately after
-the STORE, instead of assuming that FETCH would have returned the same
-reference.  This can make it easier to implement tied objects [perl #35865, #43011].
-(TBT)
+Perl が (新しいリファレンスで STORE を呼び出す) tie された配列やハッシュの
+要素を自動有効化すると、FETCH が同じリファレンスを返すと仮定するのではなく、
+STORE の直後に FETCH を呼び出すようになりました。
+これにより tie されたオブジェクトの実装がより簡単になりました
+[perl #35865, #43011]。
 
 =item *
 
@@ -8554,10 +8541,9 @@
 
 =end original
 
-Attempting to C<goto> out of a tied handle method used to cause memory
-corruption or crashes.
+tie されたハンドルメソッドの外側に C<goto> しようとするとメモリ破壊や
+クラッシュが起きていました。
 今では代わりにエラーメッセージが出力されます [perl #8611]。
-(TBT)
 
 =item *
 
@@ -8571,13 +8557,12 @@
 
 =end original
 
-A bug has been fixed that occurs when a tied variable is used as a
-subroutine reference:  if the last thing assigned to or returned from the
-variable was a reference or typeglob, the C<\&$tied> could either crash or
-return the wrong subroutine.  The reference case is a regression introduced
-in Perl 5.10.0.
+tie された変数をサブルーチンリファレンスとして使う時に起きるバグが
+修正されました: 変数に代入されたり変数から返された値がリファレンスまたは
+型グロブのとき、C<\&$tied> はクラッシュしたり間違ったサブルーチンを
+返すことがありました。
+リファレンスの場合は Perl 5.10.0 で作り込まれた退行です。
 型グロブに関しては、おそらく今まで全く動作していませんでした。
-(TBT)
 
 =back
 
@@ -8601,14 +8586,13 @@
 
 =end original
 
-The bitwise complement operator (and possibly other operators, too) when
-passed a vstring would leave vstring magic attached to the return value,
-even though the string had changed.  This meant that
-C<< version->new(~v1.2.3) >> would create a version looking like "v1.2.3"
-even though the string passed to C<< version->new >> was actually
-"\376\375\374".  This also caused L<B::Deparse> to deparse C<~v1.2.3>
-incorrectly, without the C<~> [perl #29070].
-(TBT)
+v文字列を渡されたビット単位否定演算子は (そしておそらく他の演算子も) 
+文字列が変更されても返り値にv文字列マジックを衝けたままでした。
+これはにより、C<< version->new(~v1.2.3) >> は、実際は
+C<< version->new >> に渡される文字列は "\376\375\374" にも関わらず、
+"v1.2.3" のように見えるバージョンを作成していました。
+これはまた L<B::Deparse> が C<~v1.2.3> を、間違って C<~> なしで
+逆パースしていました [perl #29070]。
 
 =item *
 
@@ -8622,13 +8606,12 @@
 
 =end original
 
-Assigning a vstring to a magic (e.g., tied, C<$!>) variable and then
-assigning something else used to blow away all magic.  This meant that
-tied variables would come undone, C<$!> would stop getting updated on
-failed system calls, C<$|> would stop setting autoflush, and other
-mischief would take place.
+v文字列をマジック変数 (例えば tie された変数や C<$!>) に代入してから
+他のものを代入すると全てのマジックが消えてしまっていました。
+これにより tie された変数は解除され、、C<$!> は失敗したシステムコールで
+更新されなくなり、C<$|> は自動フラッシュを設定しなくなり、その他の
+問題も発生していました。
 これは修正されました。
-(TBT)
 
 =item *
 
@@ -8685,11 +8668,12 @@
 
 =end original
 
-Subroutines from the C<autouse> namespace are once more exempt from
-redefinition warnings.  This used to work in 5.005, but was broken in
-5.6 for most subroutines.  For subs created via XS that redefine
-subroutines from the C<autouse> package, this stopped working in 5.10.
-(TBT)
+C<autouse> 名前空間からのサブルーチンは再び再定義警告を
+出さなくなりました。
+これは 5.005 では動作していましたが、5.6 ではほとんどのサブルーチンで
+壊れていました。
+C<autouse> パッケージから再定義された、XS 経由で作成されたサブルーチンは
+5.10 から動作していませんでした。
 
 =item *
 
@@ -8744,11 +8728,11 @@
 
 定数サブルーチンの再定義警告はデフォルトでオンです (L<perldiag> では重要な
 警告として知られています)。
-This occurred only
-when it was a glob assignment or declaration of a Perl subroutine that
-caused the warning.  If the creation of XSUBs triggered the warning, it
-was not a default warning.  This has been corrected.
-(TBT)
+これは、グロブ代入または警告を発生させる Perl サブルーチンの定義でのみ
+発生していました。
+XSUB の作成がこの警告を引き起こすとき、これはデフォルトの警告では
+ありませんでした。
+これは修正されました。
 
 =item *
 
@@ -8826,11 +8810,11 @@
 
 =end original
 
-Perl 5.14 でのバグ修正が新しいバグを作り込んでいました; causing "uninitialized"
-warnings to report the wrong variable if the operator in question had
-two operands and one was C<%{...}> or C<@{...}>.  This has been fixed
-[perl #103766].
-(TBT)
+Perl 5.14 でのバグ修正が新しいバグを作り込んでいました; 
+問題になる演算子が二つのオペランドを持ち、その一つが C<%{...}> または
+C<@{...}> のとき、間違った変数に "uninitialized" 警告を
+発生させていました。
+これは修正されました [perl #103766]。
 
 =item *
 
@@ -9101,13 +9085,12 @@
 
 =end original
 
-Perl skips copying values returned from a subroutine, for the sake of
-speed, if doing so would make no observable difference.  Because of faulty
-logic, this would happen with the
-result of C<delete>, C<shift> or C<splice>, even if the result was
-referenced elsewhere.  It also did so with tied variables about to be freed
-[perl #91844, #95548].
-(TBT)
+Perl は、観察できる違いがなければ、速度のために、サブルーチンから返される
+値のコピーを省略します。
+ロジックの間違いにより、C<delete>, C<shift>, C<splice> では、結果が
+別の場所へのリファレンスでも起きていました。
+また、解放されようとしている tie された変数でもそうしていました
+[perl #91844, #95548]。
 
 =item *
 
@@ -9131,11 +9114,10 @@
 
 =end original
 
-Freeing $_ inside a C<grep> or C<map> block, a code block embedded in a
-regular expression, or an @INC filter (a subroutine returned by a
-subroutine in @INC) used to result in double frees or crashes
-[perl #91880, #92254, #92256].
-(TBT)
+C<grep> や C<map> の内側、正規表現に組み込まれたコードブロック、
+ @ INC フィルタ (@INC 内のサブルーチンによって返されたサブルーチン) で
+$_ を解放すると、二重解放やクラッシュが起きていました
+[perl #91880, #92254, #92256]。
 
 =item *
 
@@ -9149,12 +9131,12 @@
 
 =end original
 
-C<eval> returns C<undef> in scalar context or an empty list in list
-context when there is a run-time error.  When C<eval> was passed a
-string in list context and a syntax error occurred, it used to return a
-list containing a single undefined element.  Now it returns an empty
-list in list context for all errors [perl #80630].
-(TBT)
+C<eval> は、実行時エラーがあったとき、スカラコンテキストでは C<undef> を、
+リストコンテキストでは空リストを返します。
+C<eval> がリストコンテキストで文字列を渡されて文法エラーが起きると、
+未定義要素一つを含むリストが返されていました。
+全てのエラーについてリストコンテキストでは空リストが返るようになりました
+[perl #80630]。
 
 =item *
 
@@ -9166,10 +9148,9 @@
 
 =end original
 
-C<goto &func> no longer crashes, but produces an error message, when
-the unwinding of the current subroutine's scope fires a destructor that
-undefines the subroutine being "goneto" [perl #99850].
-(TBT)
+C<goto &func> は、現在のサブルーチンのスコープの巻き戻しによって
+未定義化しようとしているサブルーチンのデストラクタを呼び出そうとしたとき、
+クラッシュせずにエラーメッセージを出力するようになりました [perl #99850]。
 
 =item *
 
@@ -9181,10 +9162,9 @@
 
 =end original
 
-Perl now holds an extra reference count on the package that code is
-currently compiling in.  This means that the following code no longer
-crashes [perl #101486]:
-(TBT)
+Perl はコードが現在コンパイルしているパッケージに追加の参照カウントを
+保持するようになりました。
+これにより以下のコードでクラッシュしなくなりました [perl #101486]:
 
     package Foo;
     BEGIN {*Foo:: = *Bar::}
@@ -9212,10 +9192,11 @@
 
 =end original
 
-Calling C<require> on an implicit C<$_> when C<*CORE::GLOBAL::require> has
-been overridden does not segfault anymore, and C<$_> is now passed to the
-overriding subroutine [perl #78260].
-(TBT)
+C<*CORE::GLOBAL::require> がオーバーライドされているときに暗黙の
+C<$_> に対して C<require> を呼び出してもセグメンテーション違反を
+起こさなくなり、C<$_> はオーバーライドしているサブルーチンに
+渡されるようになりました [perl #78260]。
+
 
 =item *
 
@@ -9233,13 +9214,13 @@
 
 =begin original
 
-C<our $::e; $e> (which is invalid) no longer produces the "Compilation
+C<our $::辿; $辿> (which is invalid) no longer produces the "Compilation
 error at lib/utf8_heavy.pl..." error message, which it started emitting in
 5.10.0 [perl #99984].
 
 =end original
 
-C<our $::e; $e> (これは不正です) は "Compilation
+C<our $::é; $é> (これは不正です) は "Compilation
 error at lib/utf8_heavy.pl..." エラーメッセージを出力しなくなりました;
 これは 5.10.0 から出力されていました [perl #99984]。
 
@@ -9318,11 +9299,11 @@
 
 =end original
 
-Destructors on objects were not called during global destruction on objects
-that were not referenced by any scalars.  This could happen if an array
-element were blessed (e.g., C<bless \$a[0]>) or if a closure referenced a
-blessed variable (C<bless \my @a; sub foo { @a }>).
-(TBT)
+オブジェクトのデストラクタは、どのスカラからも参照されていないオブジェクトの
+グローバルな破壊の間には呼び出されていませんでした。
+これは配列要素が bless されていたり (例えば C<bless \$a[0]>)、クロージャが
+bless された変数を参照している (C<bless \my @a; sub foo { @a }>) ときに
+起こります。
 
 =begin original
 
@@ -9332,10 +9313,9 @@
 
 =end original
 
-Now there is an extra pass during global destruction to fire destructors on
-any objects that might be left after the usual passes that check for
-objects referenced by scalars [perl #36347].
-(TBT)
+スカラによって参照されているオブジェクトをチェックする通常のパスの後に、
+残っているかもしれない全てのオブジェクトのデストラクタを起動する
+追加のパスがグローバルな破壊中に行われるようになりました [perl #36347]。
 
 =item *
 
@@ -9372,10 +9352,10 @@
 
 =end original
 
-A problem with context propagation when a C<do> block is an argument to
-C<return> has been fixed.  It used to cause C<undef> to be returned in
-certain cases of a C<return> inside an C<if> block which itself is followed by
-another C<return>.
+C<do> ブロックが C<return> への引数であるときのコンテキストの伝搬の問題が
+修正されました。
+以前は、自身が C<return> に引き続いている C<if> ブロックの内側の
+C<return> の一部の場合で C<undef> が返されていました。
 
 =item *
 
@@ -9416,15 +9396,14 @@
 
 =end original
 
-For list assignments like C<($a,$b) = ($b,$a)>, Perl has to make a copy of
-the items on the right-hand side before assignment them to the left.  For
-efficiency's sake, it assigns the values on the right straight to the items
-on the left if no one variable is mentioned on both sides, as in C<($a,$b) =
-($c,$d)>.  The logic for determining when it can cheat was faulty, in that
-C<&&> and C<||> on the right-hand side could fool it.  So C<($a,$b) =
-$some_true_value && ($b,$a)> would end up assigning the value of C<$b> to
-both scalars.
-(TBT)
+C<($a,$b) = ($b,$a)> のようなリスト代入において、Perl は左側への
+代入の前に右側のアイテムのコピーを作る必要があります。
+効率のために、C<($a,$b) = ($c,$d)> のように、両側で言及されている
+変数がない場合、右側の値を直接左側に代入します。
+いつこのごまかしを行うかを決定するロジックが間違っていて、
+C<&&> と C<||> が右側にあると騙されていました。
+それで、C<($a,$b) = $some_true_value && ($b,$a)> は結局 C<$b> の値を
+両方のスカラに代入することになっていました。
 
 =item *
 
@@ -9439,13 +9418,12 @@
 
 =end original
 
-Perl no longer tries to apply lvalue context to the string in
-C<("string", $variable) ||= 1> (which used to be an error).  Since the
-left-hand side of C<||=> is evaluated in scalar context, that's a scalar
-comma operator, which gives all but the last item void context.  There is
-no such thing as void lvalue context, so it was a mistake for Perl to try
-to force it [perl #96942].
-(TBT)
+Perl は C<("string", $variable) ||= 1> の文字列に左辺値コンテキストを
+適用しようとしなくなりました (これは以前はエラーになっていました)。
+C<||=> の左側はスカラコンテキストで評価されるので、これはスカラ
+コンマ演算子で、最後以外のアイテムは無効コンテキストになります。
+無効左辺値コンテキストというものはないので、Perl にこれをさせようとするのは
+誤りでした [perl #96942]。
 
 =item *
 
@@ -9472,11 +9450,9 @@
 
 =end original
 
-C<close> and similar filehandle functions, when called on built-in global
-variables (like C<$+>), used to die if the variable happened to hold the
-undefined value, instead of producing the usual "Use of uninitialized
-value" warning.
-(TBT)
+C<close> および同様のファイルハンドル関数は、(C<$+> のような)組み込みの
+グローバル変数で呼び出されると、変数が未定義値を保持していた場合、
+通常の "Use of uninitialized value" 警告ではなく、die していました。
 
 =item *
 
@@ -9488,10 +9464,10 @@
 
 =end original
 
-When autovivified file handles were introduced in Perl 5.6.0, C<readline>
-was inadvertently made to autovivify when called as C<readline($foo)> (but
-not as C<E<lt>$fooE<gt>>).  It has now been fixed never to autovivify.
-(TBT)
+Perl 5.6.0 で自動有効化されたファイルハンドルが導入されたとき、
+C<readline> は (C<E<lt>$fooE<gt>> ではなく) C<readline($foo)> として
+呼び出されると不注意に自動有効化していました。
+これは、決して自動有効化されないように修正されました。
 
 =item *
 
@@ -9503,10 +9479,10 @@
 
 =end original
 
-Calling an undefined anonymous subroutine (e.g., what $x holds after
-C<undef &{$x = sub{}}>) used to cause a "Not a CODE reference" error, which
-has been corrected to "Undefined subroutine called" [perl #71154].
-(TBT)
+(例えば C<undef &{$x = sub{}}> の後に $x が保持しているような) 未定義の
+無名サブルーチンを呼び出すと、"Not a CODE reference" エラーが
+発生していました; これは 正しい "Undefined subroutine called" に
+修正されました [perl #71154]。
 
 =item *
 
@@ -9530,10 +9506,9 @@
 
 =end original
 
-C<setpgrp($foo)> used to be equivalent to C<($foo, setpgrp)>, because
-C<setpgrp> was ignoring its argument if there was just one.  Now it is
-equivalent to C<setpgrp($foo,0)>.
-(TBT)
+C<setpgrp($foo)> は C<($foo, setpgrp)> と等価でした; 
+C<setpgrp> は引数が一つだけのときは引数を無視していたからです。
+これは C<setpgrp($foo,0)> と等価に修正されました。
 
 =item *
 
@@ -9545,10 +9520,9 @@
 
 =end original
 
-C<shmread> was not setting the scalar flags correctly when reading from
-shared memory, causing the existing cached numeric representation in the
-scalar to persist [perl #98480].
-(TBT)
+C<shmread> は、共有メモリから読み込んだときにスカラフラグを正しく
+設定しておらず、スカラにあるすでに存在するキャッシュされた数値表現が
+永続化していました [perl #98480]。
 
 =item *
 
@@ -9773,11 +9747,11 @@
 
 Perl 5.16.0 represents approximately 12 months of development since Perl
 5.14.0 and contains approximately 590,000 lines of changes across 2,500
-files from 137 authors.
+files from 139 authors.
 
 =end original
 
-Perl 5.16.0 は、Perl 5.14.0 以降、137 人の作者によって、
+Perl 5.16.0 は、Perl 5.14.0 以降、139 人の作者によって、
 2,500 のファイルに約 590,000 行の変更を加えて、
 約 12 ヶ月開発されてきました。
 
@@ -9796,35 +9770,36 @@
 
 Aaron Crane, Abhijit Menon-Sen, Abigail, Alan Haggai Alavi, Alberto
 Sim探es, Alexandr Ciornii, Andreas K旦nig, Andy Dougherty, Aristotle
-Pagaltzis, Bo Johansson, Bo Lindbergh, brian d foy, Brian Fraser, Brian
-Greenfield, Carl Hayter, Chas. Owens, Chia-liang Kao, Chip Salzenberg,
-Chris 'BinGOs' Williams, Christian Hansen, Christopher J. Madsen,
-chromatic, Claes Jacobsson, Claudio Ramirez, Craig A. Berry, Damian
-Conway, Daniel Kahn Gillmor, Darin McBride, Dave Rolsky, David Cantrell,
-David Golden, David Leadbeater, David Mitchell, Dee Newcum, Dennis
-Kaarsemaker, Dominic Hargreaves, Douglas Christopher Wilson, Eric Brine,
-Father Chrysostomos, Florian Ragwitz, Frederic Briere, George Greer,
-Gerard Goossen, Gisle Aas, H.Merijn Brand, Hojung Youn, Ian Goodacre,
-James E Keenan, Jan Dubois, Jerry D. Hedden, Jesse Luehrs, Jesse
-Vincent, Jilles Tjoelker, Jim Cromie, Jim Meyering, Joel Berger, Johan
-Vromans, Johannes Plunien, John Hawkinson, John P. Linderman, John
-Peacock, Joshua ben Jore, Juerd Waalboer, Karl Williamson, Karthik
-Rajagopalan, Keith Thompson, Kevin J.  Woolley, Kevin Ryde, Laurent
-Dami, Leo Lapworth, Leon Brocard, Leon Timmermans, Louis Strous, Lukas
-Mai, Marc Green, Marcel Gr端nauer, Mark A. Stratman, Mark Dootson, Mark
-Jason Dominus, Martin Hasch, Matthew Horsfall, Max Maischein, Michael G
-Schwern, Michael Witten, Mike Sheldrake, Moritz Lenz, Nicholas Clark,
-Niko Tyni, Nuno Carvalho, Pau Amma, Paul Evans, Paul Green, Paul
-Johnson, Perlover, Peter John Acklam, Peter Martini, Peter Scott, Phil
-Monsen, Pino Toscano, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban,
-Ricardo Signes, Robin Barker, Rodolfo Carvalho, Salvador Fandi単o, Sam
-Kimbrel, Samuel Thibault, Shawn M Moore, Shigeya Suzuki, Shlomi Fish,
-Sisyphus, Slaven Rezic, Spiros Denaxas, Steffen M端ller, Steffen
-Schwigon, Stephen Bennett, Stephen Oberholtzer, Stevan Little, Steve
-Hay, Steve Peters, Thomas Sibley, Thorsten Glaser, Timothe Litt, Todd
-Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook, Vadim Konovalov,
-Vincent Pit, Vladimir Timofeev, Walt Mankowski, Yves Orton, Zefram,
-Zsbán Ambrus, Ævar Arnfjörð Bjarmason.
+Pagaltzis, Bo Johansson, Bo Lindbergh, Breno G. de Oliveira, brian d
+foy, Brian Fraser, Brian Greenfield, Carl Hayter, Chas. Owens,
+Chia-liang Kao, Chip Salzenberg, Chris 'BinGOs' Williams, Christian
+Hansen, Christopher J. Madsen, chromatic, Claes Jacobsson, Claudio
+Ramirez, Craig A. Berry, Damian Conway, Daniel Kahn Gillmor, Darin
+McBride, Dave Rolsky, David Cantrell, David Golden, David Leadbeater,
+David Mitchell, Dee Newcum, Dennis Kaarsemaker, Dominic Hargreaves,
+Douglas Christopher Wilson, Eric Brine, Father Chrysostomos, Florian
+Ragwitz, Frederic Briere, George Greer, Gerard Goossen, Gisle Aas,
+H.Merijn Brand, Hojung Youn, Ian Goodacre, James E Keenan, Jan Dubois,
+Jerry D. Hedden, Jesse Luehrs, Jesse Vincent, Jilles Tjoelker, Jim
+Cromie, Jim Meyering, Joel Berger, Johan Vromans, Johannes Plunien, John
+Hawkinson, John P. Linderman, John Peacock, Joshua ben Jore, Juerd
+Waalboer, Karl Williamson, Karthik Rajagopalan, Keith Thompson, Kevin J.
+Woolley, Kevin Ryde, Laurent Dami, Leo Lapworth, Leon Brocard, Leon
+Timmermans, Louis Strous, Lukas Mai, Marc Green, Marcel Gr端nauer, Mark
+A.  Stratman, Mark Dootson, Mark Jason Dominus, Martin Hasch, Matthew
+Horsfall, Max Maischein, Michael G Schwern, Michael Witten, Mike
+Sheldrake, Moritz Lenz, Nicholas Clark, Niko Tyni, Nuno Carvalho, Pau
+Amma, Paul Evans, Paul Green, Paul Johnson, Perlover, Peter John Acklam,
+Peter Martini, Peter Scott, Phil Monsen, Pino Toscano, Rafael
+Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Robin Barker,
+Rodolfo Carvalho, Salvador Fandi単o, Sam Kimbrel, Samuel Thibault, Shawn
+M Moore, Shigeya Suzuki, Shirakata Kentaro, Shlomi Fish, Sisyphus,
+Slaven Rezic, Spiros Denaxas, Steffen M端ller, Steffen Schwigon, Stephen
+Bennett, Stephen Oberholtzer, Stevan Little, Steve Hay, Steve Peters,
+Thomas Sibley, Thorsten Glaser, Timothe Litt, Todd Rinaldo, Tom
+Christiansen, Tom Hukins, Tony Cook, Vadim Konovalov, Vincent Pit,
+Vladimir Timofeev, Walt Mankowski, Yves Orton, Zefram, Zsb叩n Ambrus,
+Ævar Arnfjörð Bjarmason.
 
 =begin original
 
@@ -9959,6 +9934,7 @@
 =begin meta
 
 Translate: SHIRAKATA Kentaro <argra****@ub32*****>
+Status: completed
 
 =end meta
 



perldocjp-cvs メーリングリストの案内
Back to archive index