=pod =encoding euc-jp =head1 NAME =begin original perldelta - what is new for perl v5.32.0 =end original perl5320delta - perl v5.32.0 での変更点 =head1 DESCRIPTION =begin original This document describes differences between the 5.30.0 release and the 5.32.0 release. =end original この文書は 5.30.0 リリースと 5.32.0 リリースの変更点を記述しています。 =begin original If you are upgrading from an earlier release such as 5.28.0, first read L, which describes differences between 5.28.0 and 5.30.0. =end original 5.28.0 のような以前のリリースから更新する場合は、まず 5.28.0 と 5.30.0 の違いについて記述している L を読んでください。 =head1 Core Enhancements (コアの拡張) =head2 The isa Operator (isa 演算子) =begin original A new experimental infix operator called C tests whether a given object is an instance of a given class or a class derived from it: =end original C という名前の新しい実験的な二項演算子は、 与えられたオブジェクトが指定されたクラスまたはその派生クラスの インスタンスかどうかをテストします: if( $obj isa Package::Name ) { ... } =begin original For more detail see L. =end original さらなる詳細については L を参照してください。 =head2 Unicode 13.0 is supported (Unicode 13.0 対応) =begin original See L for details. =end original 詳しくは L を 参照してください。 =head2 Chained comparisons capability (連鎖比較機能) =begin original Some comparison operators, as their associativity, I with some operators of the same precedence (but never with operators of different precedence). =end original 一部の比較演算子は、その結合性により、同じ優先順位を持ついくつかの 演算子と I<連鎖> します (しかし異なった優先順位を持つ演算子と 連鎖することはありません)。 if ( $x < $y <= $z ) {...} =begin original behaves exactly like: =end original これは正確に次のように振る舞います: if ( $x < $y && $y <= $z ) {...} =begin original (assuming that C<"$y"> is as simple a scalar as it looks.) =end original (C<"$y"> は見た目通りに単純なスカラと仮定します。) =begin original You can read more about this in L under L. =end original L の L で これについてさらに読むことができます。 =head2 New Unicode properties C and C supported (新しい Unicode 特性 C と C に対応) =begin original Unicode is in the process of revising its regular expression requirements: L. As part of that they are wanting more properties to be exposed, ones that aren't part of the strict UCD (Unicode character database). These two are used for examining inputs for security purposes. Details on their usage is at L. =end original Unicode は正規表現要件の見直し作業中です: L。 この一環として、厳密な UCD (Unicode character database) の一部ではない、 より多くの特性を露出させるように求めています。 これら二つはセキュリティ上の理由で入力を検査するために使われています。 これらの使用法の詳細は L にあります。 =head2 It is now possible to write C, or C (C や C と書けるようになりました) =begin original The Unicode Name property is now accessible in regular expression patterns, as an alternative to C<\N{...}>. A comparison of the two methods is given in L. =end original C<\N{...}> の代替策として、Unicode Name 特性が正規表現パターン中で アクセス可能になりました。 二つの手法の比較は L にあります。 =begin original The second example above shows that wildcard subpatterns are also usable in this property. See L. =end original 前述の 2 番目の例は、この特性でワイルドカード部分パターンも使えることを 示しています。 L を参照してください。 =head2 Improvement of C, C, and C (C, C, C の改良) =begin original The C, C, and C functions now work on shift state locales and are thread-safe on C99 and above compilers when executed on a platform that has locale thread-safety; the length parameters are now optional. =end original C, C, C 関数は、 状態遷移ロケールで動作するようになり、 ロケールがスレッドセーフなプログラムで実行されるとき、 C99 以上のコンパイラではスレッドセーフになりました; 長さの引数はオプションになりました。 =begin original These functions are always executed under the current C language locale. (See L.) Most locales are stateless, but a few, notably the very rarely encountered ISO 2022, maintain a state between calls to these functions. Previously the state was cleared on every call, but now the state is not reset unless the appropriate parameter is C. =end original これらの関数は常に現在の C 言語のロケールの基で実行されます。 (L を参照してください。) ほとんどのロケールはステートレスですが、いくつかのロケール、 特にとても稀に遭遇する ISO 2022 は、これらの関数の呼び出し間で 状態を維持します。 以前はこの状態は呼び出し毎にクリアされていましたが、 指定された引数が C でない限り、この状態はリセットされなくなりました。 =begin original On threaded perls, the C99 functions L, L, and L, when available, are substituted for the plain functions. This makes these functions thread-safe when executing on a locale thread-safe platform. =end original スレッド対応 perl で、C99 関数 L, L, L が利用可能なら、通常の関数を置き換えます。 これにより、ロケールがスレッドセーフなプラットフォームで実行されたとき、 これらの関数もスレッドセーフになります。 =begin original The string length parameters in C and C are now optional; useful only if you wish to restrict the length parsed in the source string to less than the actual length. =end original C と C での文字列の長さの引数はオプションになりました; ソース文字列をパースする長さを実際の長さよりも短く制限したい場合にのみ 有用です。 =head2 Alpha assertions are no longer experimental (アルファアサートはもはや実験的ではなくなりました) =begin original See L, L, L>, and L. Use of these no longer generates a warning; existing code that disables the warning category C will continue to work without any changes needed. Enabling the category has no effect. =end original L, L, L>, L を参照してください。 これらの使用はもはや警告を出力しません; 警告カテゴリ C を無効にする既存のコードは 何の変更の必要もなく動き続けます。 このカテゴリを有効にしても何も起きません。 =head2 Script runs are no longer experimental (用字並びはもはや実験的ではなくなりました) =begin original See L. Use of these no longer generates a warning; existing code that disables the warning category C will continue to work without any changes needed. Enabling the category has no effect. =end original L を参照してください。 これらの使用はもはや警告を出力しません; 警告カテゴリ C を無効にする既存のコードは 何の変更の必要もなく動き続けます。 このカテゴリを有効にしても何も起きません。 =head2 Feature checks are now faster (機能チェックがより速くなりました) =begin original Previously feature checks in the parser required a hash lookup when features were set outside of a feature bundle, this has been optimized to a bit mask check. [L] =end original 以前は、機能が機能の束の外側で設定されていた場合、パーサでの機能チェックは ハッシュの検索が必要でした。 これは、ビットマスクチェックに最適化されました。 [L] =head2 Perl is now developed on GitHub (Perl は GitHub で開発されるようになりました) =begin original Perl is now developed on GitHub. You can find us at L. =end original Perl は GitHub で開発されるようになりました。 L で見られます。 =begin original Non-security bugs should now be reported via GitHub. Security issues should continue to be reported as documented in L. =end original 非セキュリティバグは GitHub 経由で報告してください。 セキュリティ問題は引き続き L に書かれている方法で報告してください。 =head2 Compiled patterns can now be dumped before optimization (コンパイルされたパターンは最適化される前にダンプされるようになりました) =begin original This is primarily useful for tracking down bugs in the regular expression compiler. This dump happens on C<-DDEBUGGING> perls, if you specify C<-Drv> on the command line; or on any perl if the pattern is compiled within the scope of S> or S>. (All but the second case display other information as well.) =end original これは主に正規表現コンパイラの中のバグを見つけ出すのに有用です。 このダンプは C<-DDEBUGGING> perl でコマンドラインに C<-Drv> を指定するか; パターンが S> または S> のスコープの下でコンパイルされた場合は 全ての perl で発生します (2 番目以外の全ての場合は他の情報も表示されます。) =head1 Security (セキュリティ) =head2 [CVE-2020-10543] Buffer overflow caused by a crafted regular expression =begin original A signed C integer overflow in the storage space calculations for nested regular expression quantifiers could cause a heap buffer overflow in Perl's regular expression compiler that overwrites memory allocated after the regular expression storage space with attacker supplied data. =end original ネストした正規表現量指定子の保管スペースの計算での 符号付き C 整数オーバーフローを引き起こすことがあります; これにより Perl の正規表現コンパイラが、 攻撃者が提供したデータの正規表現保管スペースの後ろに割り当てられた メモリを上書きするという、 ヒープバッファオーバーフローを引き起こすことがあります。 =begin original The target system needs a sufficient amount of memory to allocate partial expansions of the nested quantifiers prior to the overflow occurring. This requirement is unlikely to be met on 64-bit systems. =end original ターゲットシステムは、オーバーフローが起きる前に、ネストした量指定子の 部分的な十分な量のメモリが必要です。 この要求を 64 ビットシステムで満たすことはおそらくできないでしょう。 =begin original Discovered by: ManhND of The Tarantula Team, VinCSS (a member of Vingroup). =end original ManhND of The Tarantula Team, VinCSS (Vingroup のメンバー) によって 発見されました。 =head2 [CVE-2020-10878] Integer overflow via malformed bytecode produced by a crafted regular expression =begin original Integer overflows in the calculation of offsets between instructions for the regular expression engine could cause corruption of the intermediate language state of a compiled regular expression. An attacker could abuse this behaviour to insert instructions into the compiled form of a Perl regular expression. =end original 正規表現エンジンの命令の間でのオフセットの整数オーバーフローにより、 コンパイルされた正規表現の中間言語状態が破壊されることがあります。 攻撃者はこの振る舞いを、Perl 正規表現のコンパイルされた形式に命令を 挿入することに悪用できます。 =begin original Discovered by: Hugo van der Sanden and Slaven Rezic. =end original Hugo van der Sanden と Slaven Rezic によって発見されました。 =head2 [CVE-2020-12723] Buffer overflow caused by a crafted regular expression =begin original Recursive calls to C by Perl's regular expression compiler to optimize the intermediate language representation of a regular expression could cause corruption of the intermediate language state of a compiled regular expression. =end original 正規表現の中間言語表現を最適化するために、 Perl の正規表現コンパイラが C を再帰呼び出しすることで、 コンパイルされた正規表現の中間言語状態が破壊されることがあります。 =begin original Discovered by: Sergey Aleynikov. =end original Sergey Aleynikov によって発見されました。 =head2 Additional Note (追加の注意) =begin original An application written in Perl would only be vulnerable to any of the above flaws if it evaluates regular expressions supplied by the attacker. Evaluating regular expressions in this fashion is known to be dangerous since the regular expression engine does not protect against denial of service attacks in this usage scenario. =end original Perl で書かれたアプリケーションは、攻撃者によって提供された正規表現を 評価している場合にのみ、前述の不具合に対して脆弱です。 このような方法で正規表現を評価することは、危険であることが知られています; 正規表現エンジンはこのような使用シナリオでのサービス不能攻撃から 守られていないからです。 =head1 Incompatible Changes (互換性のない変更) =head2 Certain pattern matching features are now prohibited in compiling Unicode property value wildcard subpatterns (ある種のパターンマッチング機能は、Unicode 特性値ワイルドカード部分パターンのコンパイル時に禁止されるようになりました) =begin original These few features are either inappropriate or interfere with the algorithm used to accomplish this task. The complete list is in L. =end original これらのほんの一部の機能は、不適切か、この作業を達成するのに 使われるアルゴリズムを妨害します。 完全なリストは L にあります。 =head2 Unused functions C and C are removed (未使用関数 C と C は削除されました) =begin original These functions could never have worked due to a defective interface specification. There is clearly no demand for them, given that no one has ever complained in the many years the functions were claimed to be available, hence so-called "support" for them is now dropped. =end original これらの関数は、欠陥のあるインターフェース定義のために全く 動作していませんでした。 この関数が利用可能であると主張してから何年間も誰も苦情を言わなかったので、 明らかにこれらの需要はありません; 従ってこれらに対する「対応」は 削除されました。 =head2 A bug fix for C<(?[...])> may have caused some patterns to no longer compile (C<(?[...])> のバグ修正により、一部のパターンはもはやコンパイル出来なくなったかもしれません) =begin original See L. The heuristics previously used may have let some constructs compile (perhaps not with the programmer's intended effect) that should have been errors. None are known, but it is possible that some erroneous constructs no longer compile. =end original L を参照してください。 以前使われていた経験則では、エラーになるべき一部の構文が (おそらくプログラマの意図しない効果として)コンパイル出来ていたかもしれません。 現在知られているものはありませんが、一部の誤った構文がもはや コンパイル出来なくなった可能性があります。 =head2 C<\p{I}> properties now always override official Unicode ones (C<\p{I}> 特性は常に公的な Unicode のものを上書きするようになりました) =begin original Previously, if and only if a user-defined property was declared prior to the compilation of the regular expression pattern that contains it, its definition was used instead of any official Unicode property with the same name. Now, it always overrides the official property. This change could break existing code that relied (likely unwittingly) on the previous behavior. Without this fix, if Unicode released a new version with a new property that happens to have the same name as the one you had long been using, your program would break when you upgraded to a perl that used that new Unicode version. See L. [L] =end original 以前は、ユーザー定義特性がそれを含む正規表現パターンのコンパイルより 前に宣言された場合にのみ、 その定義は、同じ名前の公式 Unicode 特性の代わりに使われていました。 これは、常に公式特性を上書きするようになりました。 この変更は、以前の振る舞いに(おそらくうっかり)依存していた既存のコードを 壊すかもしれません。 この修正なしでは、もし Unicode が、たまたまあなたが長い間使っていたのと 同じ名前の新しい特性を持つ新しいバージョンをリリースすると、 あなたのプログラムは、その新しい Unicode バージョンを使う perl に アップグレードしたときに、壊れることになります。 L を参照してください。 [L] =head2 Modifiable variables are no longer permitted in constants (変更可能な変数は定数の中ではもはや許されなくなりました) =begin original Code like: =end original 次のようなコードで: my $var; $sub = sub () { $var }; =begin original where C<$var> is referenced elsewhere in some sort of modifiable context now produces an exception when the sub is defined. =end original C<$var> が何らかの変更可能な内容へのリファレンスの場合、 サブルーチンが定義されたときに例外を出力するようになりました。 =begin original This error can be avoided by adding a return to the sub definition: =end original このエラーは、関数定義に return を追加することで避けられます: $sub = sub () { return $var }; =begin original This has been deprecated since Perl 5.22. [L] =end original これは Perl 5.22 から廃止予定でした。 [L] =head2 Use of L|perlfunc/vec EXPR,OFFSET,BITS> on strings with code points above 0xFF is forbidden (0xFF を超える符号位置の文字列に対する L|perlfunc/vec EXPR,OFFSET,BITS> の使用は禁止されました) =begin original Such strings are represented internally in UTF-8, and C is a bit-oriented operation that will likely give unexpected results on those strings. This was deprecated in perl 5.28.0. =end original このような文字列は内部では UTF-8 で表現されていて、 C はビット指向演算なので、おそらくこれらの文字列に対しては 想定外の結果になります。 これは perl 5.28.0 で廃止予定になっていました。 =head2 Use of code points over 0xFF in string bitwise operators (0xFF を超える符号位置に対する文字列ビット単位演算子) =begin original Some uses of these were already illegal after a previous deprecation cycle. The remaining uses are now prohibited, having been deprecated in perl 5.28.0. See L. =end original これらの使用法の一部は既に以前の廃止予定サイクルで不正なものになっていました。 perl 5.28.0 で廃止予定になっていた、残りの使用法も禁止されました。 L を参照してください。 =head2 C does not accept arguments (C は引数を許さなくなりました) =begin original This usage was deprecated in perl 5.28.0 and is now fatal. =end original この使用法は perl 5.28.0 から廃止予定でしたが、致命的エラーになりました。 =head2 Plain "0" string now treated as a number for range operator (範囲演算子での単なる文字列 "0" は数値として扱われるようになりました) =begin original Previously a range C<"0" .. "-1"> would produce a range of numeric strings from "0" through "99"; this now produces an empty list, just as C<0 .. -1> does. This also means that C<"0" .. "9"> now produces a list of integers, where previously it would produce a list of strings. =end original 以前は、範囲 C<"0" .. "-1"> は "0" から "99" までの数値文字列の範囲を 生成していました; これは C<0 .. -1> と同様に空リストを 生成するようになりました。 また、C<"0" .. "9"> は以前は文字列のリストを生成していましたが、 整数のリストを生成するようになりました。 =begin original This was due to a special case that treated strings starting with "0" as strings so ranges like C<"00" .. "03"> produced C<"00", "01", "02", "03">, but didn't specially handle the string C<"0">. [L] =end original これは、先頭が "0" で始まる文字列を文字列として扱う特殊ケースのためで、 C<"00" .. "03"> のような範囲は C<"00", "01", "02", "03"> を生成しますが、 文字列 C<"0"> は特に扱っていませんでした。 [L] =head2 C<\K> now disallowed in look-ahead and look-behind assertions (C<\K> は先読みと後読みの言明では許されなくなりました) =begin original This was disallowed because it causes unexpected behaviour, and no-one could define what the desired behaviour should be. [L] =end original これは、想定外の振る舞いを引き起こし、望まれる振る舞いがどうあるべきか 誰も定義できなかったので、許されなくなりました。 [L] =head1 Performance Enhancements (性能改善) =over 4 =item * =begin original C has been sped up for systems that don't have their own C implementation. =end original C は、自身の C 実装を持たないシステムで 高速化されました。 =item * =begin original C (and so, C, C, and C) have been sped up. =end original C (および C, C, C) は 高速化されました。 =item * =begin original C has been sped up. =end original C は高速化されました。 =item * =begin original C is now noticeably faster in cases such as C<< sort {$a <=> $b} >> or C<< sort {$b <=> $a} >>. [L] =end original C は、C<< sort {$a <=> $b} >> や C<< sort {$b <=> $a} >> のような場合に 著しく速くなりました。 [L] =back =head1 Modules and Pragmata (モジュールとプラグマ) =head2 Updated Modules and Pragmata (更新されたモジュールとプラグマ) =over 4 =item * =begin original L has been upgraded from version 2.32 to 2.36. =end original L はバージョン 2.32 から 2.36 に更新されました。 =item * =begin original L has been upgraded from version 2.29 to 2.32. =end original L はバージョン 2.29 から 2.32 に更新されました。 =item * =begin original L has been upgraded from version 1.76 to 1.80. =end original L はバージョン 1.76 から 1.80 に更新されました。 =item * =begin original L has been upgraded from version 1.49 to 1.54. =end original L はバージョン 1.49 から 1.54 に更新されました。 =item * =begin original L has been upgraded from version 1.22 to 1.23. =end original L はバージョン 1.22 から 1.23 に更新されました。 =item * =begin original L has been upgraded from version 1.45 to 1.48. =end original L はバージョン 1.45 から 1.48 に更新されました。 =item * =begin original L has been upgraded from version 0.65 to 0.66. =end original L はバージョン 0.65 から 0.66 に更新されました。 =item * =begin original L has been upgraded from version 2.084 to 2.093. =end original L はバージョン 2.084 から 2.093 に更新されました。 =item * =begin original L has been upgraded from version 2.084 to 2.093. =end original L はバージョン 2.084 から 2.093 に更新されました。 =item * =begin original L has been upgraded from version 2.22 to 2.27. =end original L はバージョン 2.22 から 2.27 に更新されました。 =item * =begin original L has been upgraded from version 1.843 to 1.853. =end original L はバージョン 1.843 から 1.853 に更新されました。 =item * =begin original L has been upgraded from version 3.52 to 3.57. =end original L はバージョン 3.52 から 3.57 に更新されました。 =begin original The test files generated on Win32 are now identical to when they are generated on POSIX-like systems. =end original Win32 で生成されたテストファイルは、 POSIX 風システムで作成されたものと同じになりました。 =item * =begin original L has been upgraded from version 1.36 to 1.37. =end original L はバージョン 1.36 から 1.37 に更新されました。 =item * =begin original L has been upgraded from version 2.55 to 2.55_01. =end original L はバージョン 2.55 から 2.55_01 に更新されました。 =item * =begin original L has been upgraded from version 1.18 to 1.21. =end original L はバージョン 1.18 から 1.21 に更新されました。 =begin original Previously, when dumping elements of an array and encountering an undefined value, the string printed would have been C. This has been changed to what was apparently originally intended: C. =end original 以前は、配列の要素をダンプ中に未定義値に遭遇すると、 表示される文字列は C でした。 これは、おそらく最初に意図していたものに変更されました: C。 =item * =begin original L has been upgraded from version 1.45 to 1.47. =end original L はバージョン 1.45 から 1.47 に更新されました。 =item * =begin original L has been upgraded from version 3.01 to 3.06. =end original L はバージョン 3.01 から 3.06 に更新されました。 =item * =begin original L has been upgraded from version 2.22 to 3.00. =end original L はバージョン 2.22 から 3.00 に更新されました。 =item * =begin original L has been upgraded from version 1.10 to 1.11. =end original L はバージョン 1.10 から 1.11 に更新されました。 =item * =begin original L has been upgraded from version 5.73 to 5.74. =end original L はバージョン 5.73 から 5.74 に更新されました。 =item * =begin original L has been upgraded from version 0.280231 to 0.280234. =end original L はバージョン 0.280231 から 0.280234 に更新されました。 =item * =begin original L has been upgraded from version 7.34 to 7.44. =end original L はバージョン 7.34 から 7.44 に更新されました。 =item * =begin original L has been upgraded from version 1.54 to 1.58. =end original L はバージョン 1.54 から 1.58 に更新されました。 =begin original A new C feature has been added, which is enabled by default but allows turning off L. =end original 新しい C 機能が追加されました; これはデフォルトでは有効ですが、 L<間接オブジェクト文法|perlobj/Indirect Object Syntax> をオフに出来ます。 =item * =begin original L has been upgraded from version 1.36 to 1.37. =end original L はバージョン 1.36 から 1.37 に更新されました。 =begin original On Win32, the tests no longer require either a file in the drive root directory, or a writable root directory. =end original Win32 では、ファイルがドライブのルートディレクトリか書き込み可能な ルートディレクトリであることのテストはもはや要求されなくなりました。 =item * =begin original L has been upgraded from version 1.32 to 1.33. =end original L はバージョン 1.32 から 1.33 に更新されました。 =item * =begin original L has been upgraded from version 1.08 to 1.09. =end original L はバージョン 1.08 から 1.09 に更新されました。 =item * =begin original L has been upgraded from version 0.95 to 0.96. =end original L はバージョン 0.95 から 0.96 に更新されました。 =item * =begin original L has been upgraded from version 2.5 to 2.51. =end original L はバージョン 2.5 から 2.51 に更新されました。 =item * =begin original L has been upgraded from version 0.22 to 0.23. =end original L はバージョン 0.22 から 0.23 に更新されました。 =begin original The Synopsis has been updated as the example code stopped working with newer perls. [L] =end original 例のコードが新しい perl で動作しなくなっていたので、概要が更新されました。 [L] =item * =begin original L has been upgraded from version 0.18 to 0.19. =end original L はバージョン 0.18 から 0.19 に更新されました。 =item * =begin original L has been upgraded from version 0.43 to 0.44. =end original L はバージョン 0.43 から 0.44 に更新されました。 =begin original Document the C environment variable. =end original C 環境変数が文書化されました。 =item * =begin original L has been upgraded from version 1.40 to 1.43. =end original L はバージョン 1.40 から 1.43 に更新されました。 =begin original L no longer caches a zero protocol value, since this indicates that the implementation will select a protocol. This means that on platforms that don't implement C for a given socket type the protocol method may return C. =end original L はもはやプロトコルの値の 0 をキャッシュしなくなりました; なぜならこれは実装がプロトコルを選ぶことを示しているからです。 つまり、与えられたソケット型に対して C が実装されていない プラットフォームでは、protocol メソッドは C を 返すかもしれないということです。 =begin original The supplied I is now always honoured on calls to the C method. [L] =end original 指定された I は常に C メソッドで効果を持つようになりました。 [L] =item * =begin original IO-Compress has been upgraded from version 2.084 to 2.093. =end original IO-Compress はバージョン 2.084 から 2.093 に更新されました。 =item * =begin original L has been upgraded from version 1.02 to 1.04. =end original L はバージョン 1.02 から 1.04 に更新されました。 =item * =begin original L has been upgraded from version 1.20 to 1.21. =end original L はバージョン 1.20 から 1.21 に更新されました。 =item * =begin original L has been upgraded from version 4.02 to 4.04. =end original L はバージョン 4.02 から 4.04 に更新されました。 =item * =begin original L has been upgraded from version 1.999816 to 1.999818. =end original L はバージョン 1.999816 から 1.999818 に更新されました。 =item * =begin original L has been upgraded from version 0.5008 to 0.5009. =end original L はバージョン 0.5008 から 0.5009 に更新されました。 =item * =begin original L has been upgraded from version 5.20190522 to 5.20200620. =end original L はバージョン 5.20190522 から 5.20200620 に更新されました。 =item * =begin original L has been upgraded from version 0.68 to 0.70. =end original L はバージョン 0.68 から 0.70 に更新されました。 =item * =begin original L has been upgraded from version 1.000036 to 1.000037. =end original L はバージョン 1.000036 から 1.000037 に更新されました。 =item * =begin original L has been upgraded from version 1.22 to 1.23. =end original L はバージョン 1.22 から 1.23 に更新されました。 =item * =begin original L has been upgraded from version 2.71 to 2.72. =end original L はバージョン 2.71 から 2.72 に更新されました。 =item * =begin original L has been upgraded from version 1.43 to 1.47. =end original L はバージョン 1.43 から 1.47 に更新されました。 =item * =begin original L has been upgraded from version 1.11 to 1.12. =end original L はバージョン 1.11 から 1.12 に更新されました。 =item * =begin original L has been upgraded from version 1.30 to 1.31. =end original L はバージョン 1.30 から 1.31 に更新されました。 =item * =begin original L has been upgraded from version 0.237 to 0.238. =end original L はバージョン 0.237 から 0.238 に更新されました。 =item * =begin original L has been upgraded from version 5.20190126 to 5.20200523. =end original L はバージョン 5.20190126 から 5.20200523 に更新されました。 =item * =begin original L has been upgraded from version 1.10 to 1.11. =end original L はバージョン 1.10 から 1.11 に更新されました。 =item * =begin original L has been upgraded from version 0.27 to 0.28. =end original L はバージョン 0.27 から 0.28 に更新されました。 =item * =begin original L has been upgraded from version 0.17 to 0.18. =end original L はバージョン 0.17 から 0.18 に更新されました。 =item * =begin original L has been upgraded from version 1.24 to 1.25. =end original L はバージョン 1.24 から 1.25 に更新されました。 =item * =begin original L has been upgraded from version 3.35 to 3.40. =end original L はバージョン 3.35 から 3.40 に更新されました。 =item * =begin original L has been upgraded from version 4.11 to 4.14. =end original L はバージョン 4.11 から 4.14 に更新されました。 =item * =begin original L has been upgraded from version 1.88 to 1.94. =end original L はバージョン 1.88 から 1.94 に更新されました。 =item * =begin original L has been upgraded from version 0.37 to 0.40. =end original L はバージョン 0.37 から 0.40 に更新されました。 =item * =begin original L has been upgraded from version 2.40 to 2.41. =end original L はバージョン 2.40 から 2.41 に更新されました。 =item * =begin original L has been upgraded from version 1.50 to 1.55. =end original L はバージョン 1.50 から 1.55 に更新されました。 =item * =begin original L has been upgraded from version 1.25 to 1.26. =end original L はバージョン 1.25 から 1.26 に更新されました。 =item * =begin original L has been upgraded from version 2.027 to 2.029. =end original L はバージョン 2.027 から 2.029 に更新されました。 =item * =begin original L has been upgraded from version 3.15 to 3.21. =end original L はバージョン 3.15 から 3.21 に更新されました。 =begin original Use of C from L is now optional in tests. This works around a circular dependency with L when installing on very old perls from CPAN. =end original L からの C の使用はテストでオプションになりました。 これは、CPAN からとても古い perl にインストールしたときの L の 循環参照を回避します。 =begin original Vstring magic strings over 2GB are now disallowed. =end original 2GB を超える Vstring マジック文字列は許されなくなりました。 =begin original Regular expressions objects weren't properly counted for object id purposes on retrieve. This would corrupt the resulting structure, or cause a runtime error in some cases. [L] =end original 正規表現オブジェクトは取得の目的のためのオブジェクト ID が適切に カウントされていませんでした。 これは結果の構造体を壊したり、場合によっては実行時エラーを 引き起こすことがありました。 [L] =item * =begin original L has been upgraded from version 1.22 to 1.23. =end original L はバージョン 1.22 から 1.23 に更新されました。 =item * =begin original L has been upgraded from version 0.35 to 0.36. =end original L はバージョン 0.35 から 0.36 に更新されました。 =item * =begin original L has been upgraded from version 4.06 to 5.01. =end original L はバージョン 4.06 から 5.01 に更新されました。 =item * =begin original L has been upgraded from version 1.302162 to 1.302175. =end original L はバージョン 1.302162 から 1.302175 に更新されました。 =item * =begin original L has been upgraded from version 3.04 to 3.05. =end original L はバージョン 3.04 から 3.05 に更新されました。 =item * =begin original L has been upgraded from version 3.13 to 3.14. =end original L はバージョン 3.13 から 3.14 に更新されました。 =item * =begin original L has been upgraded from version 2.22 to 2.25. =end original L はバージョン 2.22 から 2.25 に更新されました。 =item * =begin original L has been upgraded from version 1.60 to 1.61. =end original L はバージョン 1.60 から 1.61 に更新されました。 =item * =begin original L has been upgraded from version 1.02 to 1.06. =end original L はバージョン 1.02 から 1.06 に更新されました。 =item * =begin original L has been upgraded from version 0.10 to 0.13. =end original L はバージョン 0.10 から 0.13 に更新されました。 =item * =begin original L has been upgraded from version 1.04 to 1.05. =end original L はバージョン 1.04 から 1.05 に更新されました。 =item * =begin original L has been upgraded from version 4.5 to 4.6. =end original L はバージョン 4.5 から 4.6 に更新されました。 =item * =begin original L has been upgraded from version 1.9760 to 1.9764. =end original L はバージョン 1.9760 から 1.9764 に更新されました。 =begin original Removed obsolete code such as support for pre-5.6 perl and classic MacOS. [L] =end original 5.6 より前の perl やクラシック MacOS の対応のためのような古いコードが 削除されました。 [L] =item * =begin original L has been upgraded from version 1.33 to 1.3401. =end original L はバージョン 1.33 から 1.3401 に更新されました。 =item * =begin original L has been upgraded from version 1.26 to 1.27. =end original L はバージョン 1.26 から 1.27 に更新されました。 =item * =begin original L has been upgraded from version 0.72 to 0.75. =end original L はバージョン 0.72 から 0.75 に更新されました。 =item * =begin original L has been upgraded from version 2.44 to 2.45. =end original L はバージョン 2.44 から 2.45 に更新されました。 =item * =begin original L has been upgraded from version 1.44 to 1.47. =end original L はバージョン 1.44 から 1.47 に更新されました。 =item * =begin original L has been upgraded from version 0.52 to 0.53. =end original L はバージョン 0.52 から 0.53 に更新されました。 =item * =begin original L has been upgraded from version 0.1203 to 0.1203_01. =end original L はバージョン 0.1203 から 0.1203_01 に更新されました。 =item * =begin original L has been upgraded from version 1.00 to 1.09. =end original L はバージョン 1.00 から 1.09 に更新されました。 =back =head2 Removed Modules and Pragmata (削除されたモジュールとプラグマ) =over 4 =item * =begin original Pod::Parser has been removed from the core distribution. It still is available for download from CPAN. This resolves [L]. =end original Pod::Parser はコア配布から削除されました。 これは依然として CPAN からダウンロードすることで利用可能です。 これは [L] を解決します。 =back =head1 Documentation (文書) =head2 Changes to Existing Documentation (既存の文書の変更) =begin original We have attempted to update the documentation to reflect the changes listed in this document. If you find any we have missed, open an issue at L. =end original 私たちはこの文書で挙げられた変更を反映するように文書を更新しようとしています。 もし抜けている物を発見したら、 L でイシューを開いてください。 =begin original Additionally, the following selected changes have been made: =end original それに加えて、以下のような変更が行われました。 =head3 L =over 4 =item * =begin original Simplify a few regnode definitions =end original いくつかの regnode 定義の単純化 =begin original Update C and C definitions. =end original C と C の定義の更新 =item * =begin original Add ANYOFHs regnode =end original ANYOFHs regnode の追加 =begin original This node is like C, but is used when more than one leading byte is the same in all the matched code points. =end original このノードは C と同様ですが、全てのマッチングした符号位置について 先頭の 2 バイト以上が等しい場合に使われます。 =begin original C is used to avoid having to convert from UTF-8 to code point for something that won't match. It checks that the first byte in the UTF-8 encoded target is the desired one, thus ruling out most of the possible code points. =end original C は、何かマッチングしないものに対して UTF-8 から符号位置に 変換する必要性を避けるために使われます。 これは、UTF-8 エンコードされたターゲットの最初のバイトが 求められているものかをチェックすることで、可能性のある符号位置の ほとんどを除外します。 =back =head3 L =over 4 =item * =begin original C updated to mention it will croak if the SV cannot be downgraded. =end original C は、SV が降格できないときに croak することについて 言及するように更新されました。 =item * =begin original C updated to mention that the UTF-8 flag will not be changed by this function, and a terminating NUL byte is guaranteed. =end original C は、UTF-8 フラグはこの関数によって変更されないこと、 および末尾の NUL が保証されていることについて言及するように更新されました。 =item * =begin original Documentation for C has been added. =end original C の文書が追加されました。 =item * =begin original The documentation for C, C, and C has been updated and clarified. =end original C, C, C の文書が更新および明確化されました。 =back =head3 L =over 4 =item * =begin original Add documentation for experimental 'isa' operator =end original 実験的な 'isa' 演算子の文書の追加 =begin original (S experimental::isa) This warning is emitted if you use the (C) operator. This operator is currently experimental and its behaviour may change in future releases of Perl. =end original (S experimental::isa) この警告は、(C) 演算子を使うと発生します。 この演算子は現在のところ実験的であり、振る舞いは将来のリリースの Perl で 変更されるかもしれません。 =back =head3 L =over 4 =item C =begin original Like L|/__FILE__> and L|/__LINE__>, the filename and line number returned here may be altered by the mechanism described at L. =end original L|/__FILE__> や L|/__LINE__> と同様、 ここに返されたファイル名と行番号は L で記述された機構によって 置き換えることができます。 =item C<__FILE__> =begin original It can be altered by the mechanism described at L. =end original これは L で記述された機構によって 置き換えることができます。 =item C<__LINE__> =begin original It can be altered by the mechanism described at L. =end original これは L で記述された機構によって 置き換えることができます。 =item C =begin original Now mentions that you cannot return from C. =end original C から帰れないことに言及しました。 =item C =begin original The C section had been renovated significantly. =end original C の節は大きく刷新されました。 =back =head3 L =over 4 =item * =begin original No longer suggesting using perl's C. Modern system C is assumed to be much better than perl's implementation now. =end original もはや perl の C を使うことを提案しなくなりました。 今ではモダンなシステムの C は perl の実装より遙かに良いものであると 仮定されます。 =item * =begin original Documentation about F flags has been removed. F now has sufficient comments within it. Anyone changing that file will see those comments first, so entries here are now redundant. =end original F フラグに関する文書が削除されました。 F は十分なコメントを内部に持つようになりました。 このファイルを変更しようとする人は最初にコレラのコメントを見ることになるので、 ここでの項目は冗長になりました。 =item * =begin original Updated documentation for C =end original C の文書の更新 =item * =begin original Added missing C<=for apidoc> lines =end original 不足していた C<=for apidoc> 行の追加 =back =head3 L =over 4 =item * =begin original The differences between Perl strings and C strings are now detailed. =end original Perl の文字列と C の文字列との違いを詳しく述べるようになりました。 =back =head3 L =over 4 =item * =begin original The documentation for the repetition operator C have been clarified. [L] =end original 繰り返し演算子 C の文書が明確化されました。 [L] =back =head3 L =over 4 =item * =begin original The documentation surrounding C and handle usage has been modernized to prefer 3-arg open and lexical variables instead of barewords. =end original C とハンドル使用法周りの文書は、3 引数 open および、 裸の単語ではなくレキシカル変数を使うように近代化されました。 =item * =begin original Various updates and fixes including making all examples strict-safe and replacing C<-w> with C. =end original 全ての例を strict 安全にして、C<-w> を C に置き換えることを 含む様々な更新と修正。 =back =head3 L =over 4 =item * =begin original 'isa' operator is experimental =end original 'isa' 演算子は実験的 =begin original This is an experimental feature and is available when enabled by C. It emits a warning in the C category. =end original これは実験的機能で、C で有効化されたときに 利用可能です。 これは C カテゴリの警告を出力します。 =back =head3 L =over 4 =item * =begin original Details of the various stacks within the perl interpreter are now explained here. =end original perl インタプリタ内部の様々なスタックの詳細はここで 説明されるようになりました。 =item * =begin original Advice has been added regarding the usage of C<< ZEE >>. =end original C<< ZEE >> の使用法に関する助言が追加されました。 =back =head3 L =over 4 =item * =begin original Update C example to use the correct year format I<1970> instead of I<70>. [L] =end original 年のフォーマットとして I<70> ではなく正しい I<1970> を使うように C の例が更新されました。 [L] =back =head3 L =over 4 =item * =begin original Fix some typos. =end original いくつかのタイプミスの修正。 =back =head3 L =over 4 =item * =begin original Now recommends stringifying C<$]> and comparing it numerically. =end original C<$]> を文字列化して数値として比較することを勧めるようになりました。 =back =head3 L, L =over 4 =item * =begin original Documentation has been added for several functions that were lacking it before. =end original 以前はなかったいくつかの関数の文書が追加されました。 =back =head3 L =over 4 =item * =begin original Suggest using C for simple library bindings. =end original 単純なライブラリバインディングには C を使うように 勧めるようになりました。 =back =head3 L =over 4 =item * =begin original C warning about threaded builds updated to note it does not apply on Perl 5.28.X and later. =end original スレッド対応ビルドに関する C の警告は、 Perl 5.28.X 以降には適用されないことに触れるように更新されました。 =item * =begin original C<< Posix::SigSet->new(...) >> updated to state it throws an error if any of the supplied signals cannot be added to the set. =end original C<< Posix::SigSet->new(...) >> は、 指定されたシグナルのどれも集合に追加できない場合はエラーが 投げられることを示すために更新されました。 =back =begin original Additionally, the following selected changes have been made: =end original それに加えて、以下のような変更が行われました。 =head3 Updating of links (リンクの更新) =over 4 =item * =begin original Links to the now defunct L site now point at the equivalent L URL. [L] =end original 今はなき L サイトへのリンクは、 等価な L URL を指すようになりました。 [L] =item * =begin original The man page for L is now only installed on VMS, which is the only platform the module is installed on. [L] =end original L の man ページは、このモジュールがインストールされる 唯一のプラットフォームである VMS でのみインストールされるようになりました。 [L] =item * =begin original URLs have been changed to C and stale links have been updated. =end original URL は C に変更され、古いリンクは更新されました。 =begin original Where applicable, the URLs in the documentation have been moved from using the C protocol to C. This also affects the location of the bug tracker at L. =end original 適切な場所では、文書中の URL は C プロトコルから C に 変更されました。 これはまたバグトラッカーの場所 L にも影響を与えます。 =item * =begin original Some links to OS/2 libraries, Address Sanitizer and other system tools had gone stale. These have been updated with working links. =end original OS/2 ライブラリ、Address Sanitizer およびその他のシステムツールへのリンクの 一部は古いものでした。 これらは動作するリンクに更新されました。 =item * =begin original Some links to old email addresses on perl5-porters had gone stale. These have been updated with working links. =end original perl5-porters の古い E メールアドレスへのリンクの一部は古いものでした。 これらは動作するリンクに更新されました。 =back =head1 Diagnostics (診断メッセージ) =begin original The following additions or changes have been made to diagnostic output, including warnings and fatal error messages. For the complete list of diagnostic messages, see L. =end original 次のような追加と変更が、警告や致命的エラーメッセージを含む診断出力に 行われました。 診断メッセージの完全な一覧については、L を参照してください。 =head2 New Diagnostics (新しい警告メッセージ) =head3 New Errors (新しいエラー) =over 4 =item * L%sE |perldiag/"Expecting interpolated extended charclass in regex; marked by <-- HERE in mE%sE"> =begin original This is a replacement for several error messages listed under L. =end original これは、L に挙げられているいくつかの エラーメッセージの置き換えです。 =item * C> =begin original (F) No hexadecimal digits were found following C<0x> or no binary digits were found following C<0b>. =end original (F) C<0x> に引き続いて 16 進数がないか、C<0b> に引き続いて 2 進数がありません。 =back =head3 New Warnings (新しい警告) =over 4 =item * L =begin original This is actually not a new message, but it is now output when the warnings category C is enabled. =end original これは実際には新しいメッセージではありませんが、 C が有効なときに出力されるようになりました。 =begin original When raised during regular expression pattern compilation, the warning has extra text added at the end marking where precisely in the pattern it occurred. =end original 正規表現中のコンパイル中に発生したとき、この警告はパターンのどの位置で 発生したかを示すマークを末尾に追加した文章を出力します。 =item * L =begin original This replaces a warning that was much less specific, and which gave false information. This new warning parallels the similar already-existing one raised for C<\o{}>. =end original これは、より具体性がなく、間違った情報を与えていた警告を置き換えます。 この新しい警告は、C<\o{}> に関して既に存在している同様の警告に 並ぶものです。 =back =head2 Changes to Existing Diagnostics (既存の診断メッセージの変更) =over 4 =item * L =begin original ...now has extra text added at the end, when raised during regular expression pattern compilation, marking where precisely in the pattern it occurred. =end original これは正規表現中のコンパイル中に発生したとき、パターンのどの位置で 発生したかを示すマークを末尾に追加した文章を出力するようになりました。 =item * L =begin original ...now has extra text added at the end, when raised during regular expression pattern compilation, marking where precisely in the pattern it occurred. =end original これは正規表現中のコンパイル中に発生したとき、パターンのどの位置で 発生したかを示すマークを末尾に追加した文章を出力するようになりました。 =item * L =begin original ...now has extra text added at the end, when raised during regular expression pattern compilation, marking where precisely in the pattern it occurred. =end original これは正規表現中のコンパイル中に発生したとき、パターンのどの位置で 発生したかを示すマークを末尾に追加した文章を出力するようになりました。 =item * L<"\c%c" is more clearly written simply as "%s"|perldiag/""\c%c" is more clearly written simply as "%s""> =begin original ...now has extra text added at the end, when raised during regular expression pattern compilation, marking where precisely in the pattern it occurred. =end original これは正規表現中のコンパイル中に発生したとき、パターンのどの位置で 発生したかを示すマークを末尾に追加した文章を出力するようになりました。 =item * L =begin original ...now includes the phrase "terminates \o early", and has extra text added at the end, when raised during regular expression pattern compilation, marking where precisely in the pattern it occurred. In some instances the text of the resolution has been clarified. =end original これは正規表現中のコンパイル中に発生したとき、"terminates \o early" という 文言と、パターンのどの位置で 発生したかを示すマークを末尾に追加した文章を出力するようになりました。 一部の場合では、解決法の文章が明確化されました。 =item * L<'%s' resolved to '\o{%s}%d'|perldiag/'%s' resolved to '\o{%s}%d'> =begin original As of Perl 5.32, this message is no longer generated. Instead, L is used instead. =end original Perl 5.32 から、このメッセージは生成されなくなりました。 代わりに、 L が使われます。 =item * L =begin original Some instances of this message previously output the hex digits C, C, C, C, C, and C in lower case. Now they are all consistently upper case. =end original 一部の場合では、以前は 16 進数 C, C, C, C, C, C が小文字で出力されていました。i これらは一貫して大文字になりました。 =item * =begin original The following three diagnostics have been removed, and replaced by L%sE> |perldiag/"Expecting interpolated extended charclass in regex; marked by <-- HERE in mE%sE">: C%sE>, C%sE>, and C in mE%sE>. =end original 以下の三つの診断メッセージは削除され、 L%sE> |perldiag/"Expecting interpolated extended charclass in regex; marked by <-- HERE in mE%sE">: C%sE>, C%sE>, C in mE%sE> に 置き換えられました。 =item * =begin original The C warning removed the line C as code points that large are no longer legal on 32-bit platforms. =end original この大きさの符号位置はもはや 32 ビットプラットフォームでは 有効ではなくなったので、 C 警告から C という 行が削除されました。 =item * L =begin original This error message has been slightly reformatted from the original C, and in particular misleading error messages like C are now rendered as C. =end original エラーメッセージは、 C から少し変更され、 特に C のような誤解を招くメッセージは C と表示されるようになりました。 =item * L =begin original This error message replaces the former C to reflect the fact that this previously deprecated usage has now been transformed into an exception. The message's classification has also been updated from D (deprecated) to F (fatal). =end original このエラーメッセージは、 以前廃止予定だった使用法が例外に変更されたことを反映して、 C から置き換えられました。 また、このメッセージのクラス分けは、D (deprecated) から F (fatal) に 変更されました。 =begin original See also L. =end original L も参照してください。 =item * =begin original C<\N{} here is restricted to one character> is now emitted in the same circumstances where previously C<\N{} in inverted character class or as a range end-point is restricted to one character> was. =end original 以前 C<\N{} in inverted character class or as a range end-point is restricted to one character> が出力されていた状況では、 C<\N{} here is restricted to one character> が出力されるようになりました。 =begin original This is due to new circumstances having been added in Perl 5.30 that weren't covered by the earlier wording. =end original これは、以前の言葉遣いでは対応できない Perl 5.30 で追加された状況のためです。 =back =head1 Utility Changes (ツールの変更) =head2 L =over 4 =item * The bug tracker homepage URL now points to GitHub. =back =head2 L =over 4 =item * =begin original This is a new utility, included as part of an L upgrade. =end original これは新しいツールで、L の更新の一部として 含まれるようになりました。 =begin original L creates a zip file from stdin. The program will read data from stdin, compress it into a zip container and, by default, write a streamed zip file to stdout. =end original L は標準入力から zip ファイルを作ります。 プログラムは標準入力からデータを読み込み、zip コンテナに圧縮して、 デフォルトでは、標準出力にストリーム zip ファイルを出力します。 =back =head1 Configuration and Compilation (設定とコンパイル) =head2 F =over 4 =item * =begin original For clang++, add C<< #include >> to Configure's probes for C, C, C, C, C, otherwise the probes would fail to compile. =end original clang++ のために、 C, C, C, C, C のための Configure のプローブに C<< #include >> を追加しました; さもなければプローブはコンパイルに失敗します。 =item * =begin original Use a compile and run test for C to satisfy clang++ which should more reliably detect it. =end original clang++ がより確実に検出できるように、 C のためのコンパイルとテスト実行を使います。 =item * =begin original For C++ compilers, add C<< #include >> to Configure's probes for C and C as they use printf and C++ compilers may fail compilation instead of just warning. =end original C++ コンパイラのために、C と C のための Configure のプローブに C<< #include >> を追加しました; これらは printf を使っていて、C++ コンパイラは単に警告を出すのではなく コンパイルに失敗するからです。 =item * =begin original Check if the compiler can handle inline attribute. =end original コンパイラがインライン属性を扱えるかをチェックします。 =item * =begin original Check for character data alignment. =end original 文字データアライメントをチェックします。 =item * =begin original F now correctly handles gcc-10. Previously it was interpreting it as gcc-1 and turned on C<-fpcc-struct-return>. =end original F は正しく gcc-10 を扱えるようになりました。 以前はこれは gcc-1 と解釈され、C<-fpcc-struct-return> が 有効になっていました。 =item * =begin original Perl now no longer probes for C, defaulting to C on all platforms. This check was error-prone when it was done, which was on 32-bit platforms only. [L] =end original Perl はもはや C をプローブしなくなり、全ての プラットフォームで C がデフォルトになりました。 このチェックは、32 ビットプラットフォームだけで成功したときに エラーを起こしがちでした。 [L] =item * =begin original Documentation and hints for building perl on Z/OS (native EBCDIC) have been updated. This is still a work in progress. =end original Z/OS (ネイティブ EBCDIC) で perl をビルドするための文書とヒントが 更新されました。 これはまだ作業中です。 =item * =begin original A new probe for C has been added. =end original C のための新しいプローブが追加されました。 =item * =begin original Improvements in F to detection in C++ and clang++. Work ongoing by Andy Dougherty. [L] =end original C++ と clang++ での検出のための F の改善。 作業は Andy Dougherty によって継続中です。 [L] =item * F =begin original This tool that regenerates L and L has been overhauled significantly, restoring consistency in flags used in F and L and allowing removal of many redundant C<=for apidoc> entries in code. =end original この、L と L を再生成するツールは大幅に見直され、 F と L で使われているフラグの一貫性が復元され、 コード中の多くの冗長な C<=for apidoc> を削除できるようになりました。 =item * =begin original The C macro is now defined. This is used in a C rule that was originally changed for FreeBSD, and the FreeBSD make apparently predefines it. The Solaris make does not predefine C which broke this rule on Solaris. [L] =end original C が定義されるようになりました。 これは元々 FreeBSD で変更された C 規則で使われており、 もちろん FreeBSD の make はこれを事前定義しています。 Solaris の make は、Solaris でのこの規則を壊す C を事前定義しません。 [L] =item * =begin original Bison versions 3.1 through 3.4 are now supported. =end original Bison バージョン 3.1 から 3.4 に対応しました。 =back =head1 Testing (テスト) =begin original Tests were added and changed to reflect the other additions and changes in this release. Furthermore, these significant changes were made: =end original このリリースのその他の追加と変更を反映してテストが追加、変更されました。 さらに、主に以下のような変更が行われました: =over 4 =item * =begin original F no longer uses (and re-uses) the F directory under F. This may prevent spurious failures. [L] =end original F はもはや F の下の F ディレクトリを 使用(および再使用)しなくなりました。 これは誤った失敗を防ぎます。 [L] =item * =begin original Various bugs in C were fixed. Potential races with other threads are now avoided, and previously the returned wide character could well be garbage. =end original C の様々なバグが修正されました。 他のスレッドとの競合の可能性が排除され、以前は返されたワイド文字が ごみになっていることがありました。 =item * =begin original Various bugs in C were fixed. Potential races with other threads are now avoided, and previously it would segfault if the string parameter was shared or hadn't been pre-allocated with a string of sufficient length to hold the result. =end original C の様々なバグが修正されました。 他のスレッドとの競合の可能性が排除され、また文字列引数が 共有されていたり結果を保持するのに十分な長さの文字列が事前に 割り当てられていない場合、セグメンテーションフォルトを起こしていました。 =item * =begin original Certain test output of scalars containing control characters and Unicode has been fixed on EBCDIC. =end original 制御文字や Unicode を含むスカラを出力する一部のテストは EBCDIC で 修正されました。 =item * =begin original F: Avoid some work on ASCII platforms. =end original F: ASCII プラットフォームで動作しないようになりました。 =item * =begin original F: Speed up many regex tests on ASCII platform =end original F: ASCII プラットフォームでの多くの正規表現テストが高速化しました。 =item * =begin original F: Skip tests that don't work on EBCDIC. =end original F: EBCDIC で動作しないテストをスキップします。 =back =head1 Platform Support (プラットフォーム対応) =head2 Discontinued Platforms (廃止されたプラットフォーム) =over 4 =item Windows CE =begin original Support for building perl on Windows CE has now been removed. =end original Windows CE で perl をビルドする対応は削除されました。 =back =head2 Platform-Specific Notes (プラットフォーム固有の注意) =over 4 =item Linux =begin original C will be used to populate C if C is C. [L] =end original C が C のとき、C は C を使っていました。 [L] =item NetBSD 8.0 =begin original Fix compilation of Perl on NetBSD 8.0 with g++. [L] =end original NetBSD 8.0 で g++ を使った Perl のコンパイルを修正しました。 [L] =item Windows =over 4 =item * =begin original The configuration for C and C are now separate, as with POSIX platforms. [L] =end original POSIX プラットフォームと同様、 C と C の設定は分離されました。 [L] =item * =begin original Support for building perl with Visual C++ 6.0 has now been removed. =end original Visual C++ 6.0 で perl をビルドする対応は削除されました。 =item * =begin original The locale tests could crash on Win32 due to a Windows bug, and separately due to the CRT throwing an exception if the locale name wasn't validly encoded in the current code page. =end original Win32 でのロケールテストは、Windows のバグおよび、 ロケール名が現在のコードページで適切にエンコードされていないと CRT が例外を投げるという別の問題により、クラッシュすることがありました。 =begin original For the second we now decode the locale name ourselves, and always decode it as UTF-8. [L] =end original 2 番目の問題のために、ロケール名は自分自身でデコードし、 常にそれを UTF-8 としてデコードするようになりました。 [L] =item * =begin original F could fail if environment variables starting with C already existed. =end original C で始まる環境変数が既に存在しているとき、 F が失敗することがありました。 =item * =begin original MYMALLOC (PERL_MALLOC) build has been fixed. =end original MYMALLOC (PERL_MALLOC) ビルドは修正されました。 =back =item Solaris =over 4 =item * =begin original C will now find recent versions of the Oracle Developer Studio compiler, which are found under C. =end original C は、C の下にある、 最近のバージョンの Oracle Developer Studio コンパイラを探すようになりました。 =item * =begin original C now uses the detected types for C functions, allowing Perl to once again compile on certain configurations of Solaris. =end original C は C 関数で検出された型を使うようになりました; これにより、Perl が再び Solaris のある種の設定で コンパイル出来るようになりました。 =back =item VMS =over 4 =item * =begin original With the release of the patch kit C99 V2.0, VSI has provided support for a number of previously-missing C99 features. On systems with that patch kit installed, Perl's configuration process will now detect the presence of the header C and the following functions: C, C, C, C, C, C, C, C, C, C, and C. =end original パッチキット C99 V2.0 のリリースにより、 VSI は以前は不足していた多くの C99 機能の対応を提供するようになりました。 このパッチキットがインストールされているシステムでは、 Perl の設定プロセスは、C ヘッダおよびつぎの関数の存在を 検出するようになりました: C, C, C, C, C, C, C, C, C, C, C. =item * =begin original C<-Duse64bitint> is now the default on VMS. =end original C<-Duse64bitint> は VMS でデフォルトになりました。 =back =item z/OS =begin original Perl 5.32 has been tested on z/OS 2.4, with the following caveats: =end original Perl 5.32 は z/OS 2.4 でテストされていますが、以下の問題があります: =over 4 =item * =begin original Only static builds (the default) build reliably =end original (デフォルトの)静的ビルドのみが安定しています。 =item * =begin original When using locales, z/OS does not handle the C category properly, so when compiling perl, you should add the following to your F options =end original ロケールを使うとき、z/OS は C カテゴリと適切に扱えないので、 perl をコンパイルするとき、次の F オプションを追加するべきです: ./Configure -Accflags=-DNO_LOCALE_MESSAGES =item * =begin original z/OS does not support locales with threads, so when compiling a threaded perl, you should add the following to your F options =end original z/OS はスレッドでのロケールに対応していないので、スレッド対応 perl を ビルドするときに、次の F オプションを追加するべきです: ./Configure -Accflags=-DNO_LOCALE =item * =begin original Some CPAN modules that are shipped with perl fail at least one of their self-tests. These are: Archive::Tar, Config::Perl::V, CPAN::Meta, CPAN::Meta::YAML, Digest::MD5, Digest::SHA, Encode, ExtUtils::MakeMaker, ExtUtils::Manifest, HTTP::Tiny, IO::Compress, IPC::Cmd, JSON::PP, libnet, MIME::Base64, Module::Metadata, PerlIO::via-QuotedPrint, Pod::Checker, podlators, Pod::Simple, Socket, and Test::Harness. =end original perl と共に出荷される CPAN モジュールの一部は、そのセルフテストの 少なくとも一つが失敗します。 そのモジュールは: Archive::Tar, Config::Perl::V, CPAN::Meta, CPAN::Meta::YAML, Digest::MD5, Digest::SHA, Encode, ExtUtils::MakeMaker, ExtUtils::Manifest, HTTP::Tiny, IO::Compress, IPC::Cmd, JSON::PP, libnet, MIME::Base64, Module::Metadata, PerlIO::via-QuotedPrint, Pod::Checker, podlators, Pod::Simple, Socket, and Test::Harness. =begin original The causes of the failures range from the self-test itself is flawed, and the module actually works fine, up to the module doesn't work at all on EBCDIC platforms. =end original 失敗の理由は、モジュールは実際には正しく動くけれどもセルフテスト自身に 欠陥があるものから、モジュールが EBCDIC プラットフォームでは全く動かない 場合まで様々です。 =back =back =head1 Internal Changes (内部の変更) =over 4 =item * =begin original C's len parameter is now a C instead of an C since we can handle longer strings than 31 bits. =end original C の len 引数は、C ではなく C になりました; 31 ビットを超える長さの文字列を扱えるからです。 =item * =begin original The lexer (C in F) was previously a single 4100-line function, relying heavily on C and a lot of widely-scoped local variables to do its work. It has now been pulled apart into a few dozen smaller static functions; the largest remaining chunk (C) is a little over 900 lines, and consists of a single C statement, all of whose C groups are independent. This should be much easier to understand and maintain. =end original 字句解析器 (F の C) は、以前は単一の 4100 行の関数で、 動作するために C および大量の広いスコープを持ったローカル変数に とても依存していました。 これは数十のより小さい静的関数の関数に分割されました; 残った最大の塊 (C) は 900 行を少し超える程度で、 単一の C 文で構成されており、全ての C グループは 独立しています。 これで理解と保守が大幅に容易になったはずです。 =item * =begin original The OS-level signal handlers and type (Sighandler_t) used by the perl core were declared as having three parameters, but the OS was always told to call them with one argument. This has been fixed by declaring them to have one parameter. See the merge commit C for full details. =end original perl コアで使われている OS レベルシグナルハンドラと型 (Sighandler_t) は 3 引数を持つとして宣言されていましたが、 OS は常に 1 引数で呼び出すとしていました。 これは、1 引数として宣言するように修正されました。 完全な詳細についてはマージコミット C を 参照してください。 =item * =begin original The code that handles C has been extensively revised, fixing various bugs, especially when the source and/or replacement strings contain characters whose code points are above 255. Some of the bugs were undocumented, one being that under some circumstances (but not all) with C, the squeezing was done based on the source, rather than the replacement. A documented bug that got fixed was [L]. =end original C を扱うコードは広範囲に見直され、様々なバグが修正されました; 特にソース文字列や置換文字列に 255 を超える符号位置の文字が含まれている 場合です。 これらのバグの一部は文書化されておらず、 一部は(しかし全てではない) C の状況の下で起こり、 圧縮が置換文字列ではなくソース文字列を基として行われていました。 修正されたバグの文書は [L] です。 =item * =begin original A new macro for XS writers dealing with UTF-8-encoded Unicode strings has been created L> that is safer in the face of malformed UTF-8 input than L> (but not as safe as L>). It won't read past a NUL character. It has been backported in L 3.55 and later. =end original UTF-8 エンコードされた Unicode 文字列を扱う XS 作者のための 新しいマクロ L> が作成されました; これは、不正な UTF-8 入力に直面したとき、L> より 安全です (しかし L> ほど安全ではありません)。 これは NUL 文字を超えて読むことはありません。 これは L 3.55 以降にバックポートされました。 =item * =begin original Added the C<< PL_curstackinfo->si_cxsubix >> field. This records the stack index of the most recently pushed sub/format/eval context. It is set and restored automatically by C, C etc., but would need to be manually managed if you do any unusual manipulation of the context stack. =end original C<< PL_curstackinfo->si_cxsubix >> フィールドが追加されました。 これは一番最近プッシュされたサブルーチン/フォーマット/evalコンテキストの スタックインデックスを記録します。 これは C, C などによって自動的に設定および 復旧されますが、コンテキストスタックに普通でない操作を行った場合は 手動で管理する必要があるでしょう。 =item * =begin original Various macros dealing with character type classification and changing case where the input is encoded in UTF-8 now require an extra parameter to prevent potential reads beyond the end of the buffer. Use of these has generated a deprecation warning since Perl 5.26. Details are in L =end original UTF-8 でエンコードされている入力に対して文字型のクラス分けや 大文字小文字変換を扱う様々なマクロは、 バッファの末尾を超えて読み込む可能性を避けるために追加の引数が必要になりました。 これらの使用は Perl 5.26 から廃止予定警告が出ていました。 詳細は L に あります。 =item * =begin original A new parser function L allows a keyword plugin to parse a subroutine signature while C is in effect. This allows custom keywords to implement semantics similar to regular C declarations that include signatures. [L] =end original 新しいパーサ関数 L は、 C が有効のときに、 サブルーチンシグネチャをパースするキーワードプラグインが可能になります。 これにより、シグネチャを含む通常の C 宣言と似た文法を実装する カスタムキーワードが可能になります。 [L] =item * =begin original Since on some platforms we need to hold a mutex when temporarily switching locales, new macros (C, C and C) have been added to make it easier to do this safely and efficiently as part of [L]. =end original 一部のプラットフォームでは一時的にロケールを切り替えるときに ミューテックスを保持する必要があるので、 [L] の 一部として、これを安全かつ効率的により簡単に行うために、 新しいマクロ (C, C, C) が 追加されました。 =item * =begin original The memory bookkeeping overhead for allocating an OP structure has been reduced by 8 bytes per OP on 64-bit systems. =end original OP 構造を割り当てるためのメモリ管理のオーバーヘッドは、 64 ビットシステムの OP では 8 バイト減少しました。 =item * =begin original L no longer stringifies the exception when C is true. [L] =end original L は、C が真のときにもはや 例外を文字列化しなくなりました。 [L] =item * =begin original The PERL_DESTRUCT_LEVEL environment variable was formerly only honoured on perl binaries built with DEBUGGING support. It is now checked on all perl builds. Its normal use is to force perl to individually free every block of memory which it has allocated before exiting, which is useful when using automated leak detection tools such as valgrind. =end original PERL_DESTRUCT_LEVEL 環境変数は、以前は DEBUGGING 対応で ビルドされたバイナリでのみ有効でした。 これは全ての perl ビルドでチェックするようになりました。 この通常の使用法は、終了前に割り当てられたメモリのブロックを個々に 解放することを perl に強制するもので、 valgrind のような自動リーク検出ツールを使うときに有用です。 =item * =begin original The API eval_sv() now accepts a C flag. If this flag is set and an exception is thrown while compiling or executing the supplied code, it will be rethrown, and eval_sv() will not return. [L] =end original API eval_sv() は C フラグを受け付けるようになりました。 このフラグがセットされていて、指定されたコードのコンパイル中や 実行中に例外が投げられた場合、 再スローされ、eval_sv() は返りません。 [L] =item * =begin original As part of the fix for [L] perl_parse() now returns non-zero if exit(0) is called in a C, C or C block. =end original [L] の修正の 一部として、perl_parse() は、 exit(0) が C, C, C ブロックのいずれかから 呼ばれたときには非 0 を返すようになりました。 =item * =begin original Most functions which recursively walked an op tree during compilation have been made non-recursive. This avoids SEGVs from stack overflow when the op tree is deeply nested, such as C<$n == 1 ? "one" : $n == 2 ? "two" : ....> (especially in code which is auto-generated). =end original コンパイル中に op 木を再帰的に探索していたほとんどの関数は 再帰しなくなりました。 これにより、(特に自動生成された場合に) op 木が C<$n == 1 ? "one" : $n == 2 ? "two" : ....> のように深くネストしている場合に、 スタックオーバーフローにより SEGV するのを回避します。 =begin original This is particularly noticeable where the code is compiled within a separate thread, as threads tend to have small stacks by default. =end original スレッドはデフォルトで比較的少ないスタックしか持っていないので、 これはコードが別々のスレッドでコンパイルされたときに特に顕著です。 =back =head1 Selected Bug Fixes (バグ修正の抜粋) =over 4 =item * =begin original Previously L would only treat the special built-in SV C<&PL_sv_undef> as a value in C<%INC> as if a previous C has failed, treating other undefined SVs as if the previous C has succeeded. This could cause unexpected success from C e.g., on C. This has been fixed. [L] =end original 以前の L は、 特殊なビルドイン SV C<&PL_sv_undef> が C<%INC> の値としてある場合にのみ前回の C が失敗したものとして扱い、 その他の未定義の SV がある場合は以前の C は成功したものとして 扱っていました。 これは C のような場合に想定外に C が 成功することがありました。 これは修正されました。 [L] =item * =begin original C<(?{...})> eval groups in regular expressions no longer unintentionally trigger "EVAL without pos change exceeded limit in regex" [L]. =end original 正規表現の C<(?{...})> eval グループはもはや 想定外に "EVAL without pos change exceeded limit in regex" を 引き起こさなくなりました。 [L]. =item * =begin original C<(?[...])> extended bracketed character classes do not wrongly raise an error on some cases where a previously-compiled such class is interpolated into another. The heuristics previously used have been replaced by a reliable method, and hence the diagnostics generated have changed. See L. =end original C<(?[...])> 拡張大かっこ文字クラスは、事前にコンパイルされていた クラスが他のものに挿入された一部の場合で間違ってエラーを 発生させなくなりました。 以前使われていた経験則はより信頼性のある手法に置き換えられたので、 生成される診断メッセージが変更されました。 L を参照してください。 =item * =begin original The debug display (say by specifying C<-Dr> or S> (with appropriate options) of compiled Unicode property wildcard subpatterns no longer has extraneous output. =end original ((適切なオプション付きの C<-Dr> や S> を指定することによる) コンパイルされた Unicode 特性ワイルドカート部分パターンの デバッグ表示は、もはや余分な出力をしなくなりました。 =item * =begin original Fix an assertion failure in the regular expression engine. [L] =end original 正規表現エンジンのアサート失敗が修正されました。 [L] =item * =begin original Fix coredump in pp_hot.c after C. [L] =end original C の後の pp_hot.c のコアダンプが修正されました。 [L] =item * =begin original Loading IO is now threadsafe. [L] =end original IO の読み込みはスレッドセーフになりました。 [L] =item * =begin original C<\p{user-defined}> overrides official Unicode [L] =end original C<\p{user-defined}> は公式な Unicode を上書きします [L] =begin original Prior to this patch, the override was only sometimes in effect. =end original このパッチ以前では、上書きは一部の場合にのみ有効でした。 =item * =begin original Properly handle filled C regnodes and multi-char folds =end original 埋まっている C regnode と複数文字畳み込みを適切に扱えるようになりました =item * =begin original Compilation error during make minitest [L] =end original make minitest 中のコンパイルエラー [L] =item * =begin original Move the implementation of C<%->, C<%+> into core. =end original C<%->, C<%+> の実装はコアに移りました。 =item * =begin original Read beyond buffer in C [L] =end original C のバッファを超えた読み込み [L] =item * =begin original Workaround glibc bug with C [L] =end original C に関する glibc バグの回避 [L] =item * =begin original C or C with the C<%n> format could cause a panic on debugging builds, or report an incorrectly cached length value when producing C flagged strings. [L] =end original C や C の C<%n> フォーマットは、 デバッグビルドでは panic したり、 C フラグ付きの文字列を生成するときに誤ったキャッシュされた長さを 報告していました。 [L] =item * =begin original The tokenizer has been extensively refactored. [L] [L] =end original 字句解析器は広範囲にリファクタリングされました。 [L] [L] =item * =begin original C is now enforced for bareword constants optimized into a C operator. [L] =end original C 演算子に最適化された裸の単語定数は C が強制されるようになりました。 [L] =item * =begin original A memory leak in regular expression patterns has been fixed. [L] =end original 正規表現パターンのメモリリークが修正されました。 [L] =item * =begin original Perl no longer treats strings starting with "0x" or "0b" as hex or binary numbers respectively when converting a string to a number. This reverts a change in behaviour inadvertently introduced in perl 5.30.0 intended to improve precision when converting a string to a floating point number. [L] =end original Perl はもはや、文字列から数値に変換するときに、"0x" や "0b" で始まっている 文字列をそれぞれ 16 進数や 2 進数と扱わなくなりました。 これは、文字列から浮動小数点数に変換するときの精度を改善することを 目的として、perl 5.30.0 で不注意によって導入された振る舞いの変更を 元に戻します。 [L] =item * =begin original Matching a non-C string against a regular expression containing unicode literals could leak a SV on each match attempt. [L] =end original Unicode リテラルを含む正規表現に対して非 C 文字列を マッチングさせると、マッチングを試行する毎に SV が リークすることがありました。 [L] =item * =begin original Overloads for octal and binary floating point literals were always passed a string with a C<0x> prefix instead of the appropriate C<0> or C<0b> prefix. [L] =end original 8 進および 2 進浮動小数点数リテラルのオーバーロードでは、 適切な C<0> および C<0b> 接頭辞ではなく、 常に C<0x> 接頭辞付きの文字列が渡されていました。 [L] =item * =begin original C<< $@ = 100; die; >> now correctly propagates the 100 as an exception instead of ignoring it. [L] =end original C<< $@ = 100; die; >> は、100 を無視することなく、正しく例外として 伝搬するようになりました。 [L] =item * =begin original C<< 0 0x@ >> no longer asserts in S_no_op(). [L] =end original C<< 0 0x@ >> はもはや S_no_op() でアサートしなくなりました。 [L] =item * =begin original Exceptions thrown while C<$@> is read-only could result in infinite recursion as perl tried to update C<$@>, which throws another exception, resulting in a stack overflow. Perl now replaces C<$@> with a copy if it's not a simple writable SV. [L] =end original C<$@> が読み込み専用のときに例外が投げられると、 perl が C<$@> を更新しようとして新しい例外が発生するので、 無限再帰を起こしてスタックオーバーフローとなることがありました。, Perl は、C<$@> が単純な書き込み可能な SV ではない場合、 コピーで置き換えるようになりました。 [L] =item * =begin original Setting C<$)> now properly sets supplementary group ids if you have the necessary privileges. [L] =end original C<$)> への設定は、適切な権限があれば、正しく補助グループ ID を 設定するようになりました。 [L] =item * =begin original close() on a pipe now preemptively clears the PerlIO object from the IO SV. This prevents a second attempt to close the already closed PerlIO object if a signal handler calls die() or exit() while close() is waiting for the child process to complete. [L] =end original パイプに対する close() は、IO SV からの PerlIO オブジェクトを予防的に クリアするようになりました。 これは、シグナルハンドラが die() または exit() を呼び出した一方、 close() は子プロセスの完了を待っている場合に、 既に閉じた PerlIO オブジェクトを再び閉じようとすることを防ぎます。 [L] =item * =begin original C<< sprintf("%.*a", -10000, $x) >> would cause a buffer overflow due to mishandling of the negative precision value. [L] =end original C<< sprintf("%.*a", -10000, $x) >> は、負数の精度の扱いの誤りにより バッファオーバーフローを引き起こすことがありました。 [L] =item * =begin original scalar() on a reference could cause an erroneous assertion failure during compilation. [L] =end original リファレンスに対する scalar() はコンパイル中に誤ったアサート失敗を 引き起こすことがありました。 [L] =item * =begin original C<%{^CAPTURE_ALL}> is now an alias to C<%-> as documented, rather than incorrectly an alias for C<%+>. [L] =end original C<%{^CAPTURE_ALL}> は、誤って C<%+> の別名になっていましたが、 文書通り C<%-> の別名になりました。 [L] =item * =begin original C<%{^CAPTURE}> didn't work if C<@{^CAPTURE}> was mentioned first. Similarly for C<%{^CAPTURE_ALL}> and C<@{^CAPTURE_ALL}>, though C<@{^CAPTURE_ALL}> currently isn't used. [L] =end original C<@{^CAPTURE}> に先に言及されていた場合、 C<%{^CAPTURE}> は動作していませんでした。 Similarly for C<%{^CAPTURE_ALL}> と C<@{^CAPTURE_ALL}> でも同様でしたが、 現在 C<@{^CAPTURE_ALL}> は使われていません。 [L] =item * =begin original Extraordinarily large (over 2GB) floating point format widths could cause an integer overflow in the underlying call to snprintf(), resulting in an assertion. Formatted floating point widths are now limited to the range of int, the return value of snprintf(). [L] =end original (2GB を超える) 異常に大きい浮動小数点数幅は、 基となる snprintf() の整数オーバーフローを引き起こし、 アサートとなっていました。 フォーマットされた浮動小数点数幅は、snprintf() の返り値である int の幅に制限されました。 [L] =item * =begin original Parsing the following constructs within a sub-parse (such as with C<"${code here}"> or C) has changed to match how they're parsed normally: =end original C<"${code here}"> や C のような) 部分パースの中の次のような構文のパースは、通常通りパースされたときと 一致するように変更されました: =over =item * =begin original C no longer produces a syntax error. =end original C はもはや文法エラーにならなくなりました。 =item * =begin original Code like C now properly produces an "Ambiguous use of ${time} resolved to $time at ..." warning when warnings are enabled. =end original C のようなコードは、警告が有効の場合に 適切に "Ambiguous use of ${time} resolved to $time at ..." 警告を出力するようになりました。 =item * =begin original C<@x {"a"}> (with the space) in a sub-parse now properly produces a "better written as" warning when warnings are enabled. =end original 部分パースでの (スペース付きの) C<@x {"a"}> は、 警告が有効の場合に適切に "better written as" 警告を出力するようになりました。 =item * =begin original Attributes can now be used in a sub-parse. [L] =end original 属性を部分パースの中で使えるようになりました。 [L] =back =item * =begin original Incomplete hex and binary literals like C<0x> and C<0b> are now treated as if the C or C is part of the next token. [L] =end original C<0x> や C<0b> のような不完全な 16 進または 2 進リテラルは、 C や C は次のトークンの一部であるかのように扱われるようになりました。 [L] =item * =begin original A spurious C<)> in a subparse, such as in C or C<"...${code here}">, no longer confuses the parser. =end original C や C<"...${code here}"> のような 部分パース中の誤った C<)> はもはやパーサを混乱させなくなりました。 =begin original Previously a subparse was bracketed with generated C<(> and C<)> tokens, so a spurious C<)> would close the construct without doing the normal subparse clean up, confusing the parser and possible causing an assertion failure. =end original 以前は部分パースは生成された C<(> および C<)> トークンで囲まれていたので、 誤った C<)> は通常の部分パースの後片付けをせずに構文を閉じることになり、 パーサを混乱させて、アサート失敗となる場合がありました。 =begin original Such constructs are now surrounded by artificial tokens that can't be included in the source. [L] =end original このような構文は、ソース中に含むことのできない人工的な トークンで囲まれるようになりました。 [L] =item * =begin original Reference assignment of a sub, such as C<\&foo = \&bar;>, silently did nothing in the C package. [L] =end original C<\&foo = \&bar;> のようなサブルーチンへのリファレンス代入は、 C パッケージでは暗黙に何もしていませんでした。 [L] =item * =begin original sv_gets() now recovers better if the target SV is modified by a signal handler. [L] =end original sv_gets() は、ターゲット SV がシグナルハンドラによって変更されたときに よりよく回復するようになりました。 [L] =item * =begin original C now evaluates C<@foo> in scalar context. Previously it would be evaluated in list context, and since readline() pops only one argument from the stack, the stack could underflow, or be left with unexpected values on the stack. [L] =end original C は C<@foo> をスカラコンテキストで評価するようになりました。 以前は、これはリストコンテキストとして評価され、 readline() はスタックから一つの引数しかポップしないので、 スタックがアンダーフローしたり、スタックに想定外の値が残ったりしていました。 [L] =item * =begin original Parsing incomplete hex or binary literals was changed in 5.31.1 to treat such a literal as just the 0, leaving the following C or C to be parsed as part of the next token. This could lead to some silent changes in behaviour, so now incomplete hex or binary literals produce a fatal error. [L] =end original 不完全な 16 進や 2 進のリテラルは、単なる 0 のリテラルと扱われるように 5.31.1 で変更されました。 これは暗黙の振る舞いの変更を引き起こすことがあったので、 不完全な 16 進または 2 進リテラルは致命的エラーを出力するようになりました。 [L] =item * =begin original eval_pv()'s I flag will now throw even if the exception is a false overloaded value. [L] =end original eval_pv() の I フラグは、例え例外が 偽のオーバーロードされた値でも例外を投げるようになりました。 [L] =item * =begin original C blocks and the program itself are no longer run if exit(0) is called within a C, C or C block. [L] =end original C とプログラム自身は、 exit(0) が C, C, C ブロックの中で呼ばれると、 もはや実行されなくなりました。 [L] =item * =begin original C<< open my $fh, ">>+", undef >> now opens the temporary file in append mode: writes will seek to the end of file before writing. [L] =end original C<< open my $fh, ">>+", undef >> は追記モードで一時ファイルを開くようになりました: 書き込むと書き込みの前にファイルの末尾にシークします。 [L] =item * =begin original Fixed a SEGV when searching for the source of an uninitialized value warning on an op whose subtree includes an OP_MULTIDEREF. [L] =end original 副ツリーに OP_MULTIDEREF を含む op に関する未定義値警告を検索するときの SEGV を修正しました。 [L] =back =head1 Obituary =begin original Jeff Goff (JGOFF or DrForr), an integral part of the Perl and Raku communities and a dear friend to all of us, has passed away on March 13th, 2020. DrForr was a prominent member of the communities, attending and speaking at countless events, contributing to numerous projects, and assisting and helping in any way he could. =end original Perl と Raku のコミュニティの不可欠な部分であり、私たち全ての 親友であった Jeff Goff (JGOFF あるいは DrForr) は、 2020 年 3 月 13 日に亡くなりました。 DrForr はコミュニティの突出したメンバーであり、 数え切れないほどのイベントで参加や登壇を行い、 数多くのプロジェクト貢献し、 彼のできるあらゆる方法で支援や助力をしていました。 =begin original His passing leaves a hole in our hearts and in our communities and he will be sorely missed. =end original 彼の死によって私たちの心とコミュニティには穴が空いたようで、 とても残念です。 =head1 Acknowledgements =begin original Perl 5.32.0 represents approximately 13 months of development since Perl 5.30.0 and contains approximately 220,000 lines of changes across 1,800 files from 89 authors. =end original Perl 5.32.0 は、Perl 5.30.0 以降、89 人の作者によって、 1,800 のファイルに約 220,000 行の変更を加えて、 約 13 ヶ月開発されてきました。 =begin original Excluding auto-generated files, documentation and release tools, there were approximately 140,000 lines of changes to 880 .pm, .t, .c and .h files. =end original 自動生成ファイル、文書、リリースツールを除くと、880 の .pm, .t, .c, .h ファイルに約 140,000 行の変更を加えました。 =begin original Perl continues to flourish into its fourth decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.32.0: =end original Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 30 年を超えて 繁栄しています。 以下の人々が、Perl 5.32.0 になるための改良に貢献したことが分かっています: Aaron Crane, Alberto SimEes, Alexandr Savca, Andreas KEnig, Andrew Fresh, Andy Dougherty, Ask BjErn Hansen, Atsushi Sugawara, Bernhard M. Wiedemann, brian d foy, Bryan Stenson, Chad Granum, Chase Whitener, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari MannsEker, Dan Book, Daniel Dragan, Dan Kogai, Dave Cross, Dave Rolsky, David Cantrell, David Mitchell, Dominic Hargreaves, E. Choroba, Felipe Gasper, Florian Weimer, Graham Knop, HEkon HEgland, Hauke D, H.Merijn Brand, Hugo van der Sanden, Ichinose Shogo, James E Keenan, Jason McIntosh, Jerome Duval, Johan Vromans, John Lightsey, John Paul Adrian Glaubitz, Kang-min Liu, Karen Etheridge, Karl Williamson, Leon Timmermans, Manuel Mausz, Marc Green, Matthew Horsfall, Matt Turner, Max Maischein, Michael Haardt, Nicholas Clark, Nicolas R., Niko Tyni, Pali, Paul Evans, Paul Johnson, Paul Marquess, Peter Eisentraut, Peter John Acklam, Peter Oliver, Petr PEsaE<0x159>, Renee Baecker, Ricardo Signes, Richard Leach, Russ Allbery, Samuel Smith, Santtu OjanperE, Sawyer X, Sergey Aleynikov, Sergiy Borodych, Shirakata Kentaro, Shlomi Fish, Sisyphus, Slaven Rezic, Smylers, Stefan Seifert, Steve Hay, Steve Peters, Svyatoslav, Thibault Duponchelle, Todd Rinaldo, Tomasz Konojacki, Tom Hukins, Tony Cook, Unicode Consortium, VanL, Vickenty Fesunov, Vitali Peil, Yves Orton, Zefram. =begin original The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker. =end original これはバージョンコントロール履歴から自動的に生成しているので、ほぼ確実に 不完全です。 特に、Perl バグトラッカーに問題を報告をしてくれた (とてもありがたい)貢献者の 名前を含んでいません。 =begin original Many of the changes included in this version originated in the CPAN modules included in Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish. =end original このバージョンに含まれている変更の多くは、Perl コアに含まれている CPAN モジュール由来のものです。 私たちは Perl の発展を助けている CPAN コミュニティ全体に感謝します。 =begin original For a more complete list of all of Perl's historical contributors, please see the F file in the Perl source distribution. =end original 全ての Perl の歴史的な貢献者のより完全な一覧については、どうか Perl ソース 配布に含まれている F を参照してください。 =head1 Reporting Bugs (バグ報告) =begin original If you find what you think is a bug, you might check the perl bug database at L. There may also be information at L, the Perl Home Page. =end original もしバグと思われるものを見つけたら、 L にある perl バグデータベースを 確認してください。 Perl ホームページ、L にも情報があります。 =begin original If you believe you have an unreported bug, please open an issue at L. Be sure to trim your bug down to a tiny but sufficient test case. =end original もしまだ報告されていないバグだと確信したら、 L にイシューを登録してください。 バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを 意識してください。 =begin original If the bug you are reporting has security implications which make it inappropriate to send to a public issue tracker, then see L for details of how to report the issue. =end original 報告しようとしているバグがセキュリティに関するもので、公開されている イシュートラッカーに送るのが不適切なものなら、バグの報告方法の詳細について L を参照してください。 =head1 Give Thanks (感謝を伝える) =begin original If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you can do so by running the C program: =end original もし Perl 5 でなされた作業について Perl 5 Porters に感謝したいと考えたなら、 C プログラムを実行することでそうできます: perlthanks =begin original This will send an email to the Perl 5 Porters list with your show of thanks. =end original これは Perl 5 Porters メーリングリストにあなたの感謝の言葉をメールします。 =head1 SEE ALSO =begin original The F file for an explanation of how to view exhaustive details on what changed. =end original 変更点の完全な詳細を見る方法については F ファイル。 =begin original The F file for how to build Perl. =end original Perl のビルド方法については F ファイル。 =begin original The F file for general stuff. =end original 一般的なことについては F ファイル。 =begin original The F and F files for copyright information. =end original 著作権情報については F 及び F ファイル。 =cut =begin meta Translate: SHIRAKATA Kentaro Status: completed =end meta