=encoding utf8 =head1 NAME =begin original perldelta - what is new for perl v5.12.1 =end original perl5121delta - perl v5.12.1 での変更点 =head1 DESCRIPTION =begin original This document describes differences between the 5.12.0 release and the 5.12.1 release. =end original このドキュメントは 5.12.0 リリースと 5.12.1 リリースの変更点を記述しています。 =begin original If you are upgrading from an earlier release such as 5.10.1, first read L, which describes differences between 5.10.1 and 5.12.0. =end original 5.10.1 のような以前のリリースから更新する場合は、まず 5.10.1 と 5.12.0 の違いについて記述している L を読んでください。 =head1 Incompatible Changes (互換性がなくなる変更) =begin original There are no changes intentionally incompatible with 5.12.0. If any incompatibilities with 5.12.0 exist, they are bugs. Please report them. =end original 故意に、5.12.0 から互換性がなくなるようにした変更はありません。 もし 5.12.0 との互換性がなければ、それはバグです。 どうか報告してください。 =head1 Core Enhancements (コアの拡張) =begin original Other than the bug fixes listed below, there should be no user-visible changes to the core language in this release. =end original このリリースでは、以下に記したバグ修正の他には、ユーザーに見えるような 形でのコア言語への変更はないはずです。 =head1 Modules and Pragmata (モジュールとプラグマ) =head2 Pragmata Changes (プラグマの変更) =over =item * =begin original We fixed exporting of C and C from L. =end original L からの C と C のエクスポートを修正しました。 =begin original These were being exported with a wrapper that treated them as method calls, which caused them to fail. They are just functions, are documented as such, and should never be subclassed, so this patch just exports them directly as functions without the wrapper. =end original これらは、メソッド呼び出しとして扱われるラッパとして エクスポートされていたので、失敗を引き起こしていました。 これらは文書化されている通りに単なる関数で決してサブクラス化されないので、 このパッチはラッパなしの関数として単にエクスポートします。 =back =head2 Updated Modules (更新されたモジュール) =over =item * =begin original We upgraded L to version 3.49 to incorporate fixes for regressions introduced in the release we shipped with Perl 5.12.0. =end original Perl 5.12.0 と共に配布されたバージョンでの退行を修正するために、 L をバージョン 3.49 に更新しました。 =item * =begin original We upgraded L to version 3.14 to get an improvement to \C\<\< \>\> parsing. =end original \C\<\< \>\> のパースを改善するために、L をバージョン 3.14 に 更新しました。 =item * =begin original We made a small fix to the L test suite to fix an occasional spurious test failure. =end original 時々間違ってテストが失敗することを修正するために、 L のテストを少し修正しました。 =item * =begin original We upgraded L to version 2.27 to wrap coderefs retured by C and C. =end original C と C から返されるコードリファレンスをラップするために、 L をバージョン 2.27 に更新しました。 =back =head1 Changes to Existing Documentation (既存の文書の変更) =over =item * =begin original We added the new maintenance release policy to L =end original 新しい保守リリースポリシーを L に追加しました。 =item * =begin original We've clarified the multiple-angle-bracket construct in the spec for POD in L =end original L での POD の仕様として、多重山かっこ構造を明確化しました。 =item * =begin original We added a missing explanation for a warning about C<:=> to L =end original C<:=> に関する警告の説明が L から漏れていたのを追加しました。 =item * =begin original We removed a false claim in L that all text strings are Unicode strings in Perl. =end original We removed a false claim in L にある、全てのテキスト文字列が Perl は Unicode 文字列であるという間違った主張を削除しました。 =item * =begin original We updated the Github mirror link in L to mirrors/perl, not github/perl =end original L の Github ミラーのリンクを github/perl から mirrors/perl に更新しました。 =item * =begin original We fixed a a minor error in L. =end original L の細かいミスを修正しました。 =item * =begin original We replaced a mention of the now-obsolete L with F/F. =end original 今では非推奨になった L から F/F へ、 言及を置き換えました。 =item * =begin original We improved documentation about F<$sitelibexp/sitecustomize.pl> in L. =end original L での F<$sitelibexp/sitecustomize.pl> に関する文書を 改良しました。 =item * =begin original We corrected L which had unintentionally omitted a number of modules. =end original 意図せずに L から漏れた多くのモジュールを修正しました。 =item * =begin original We updated the documentation for 'require' in L relating to putting Perl code in @INC. =end original L の 'require' について、 @INC に Perl コードを置くことに 関係する文書を更新しました。 =item * =begin original We reinstated some erroneously-removed documentation about quotemeta in L. =end original L から間違って削除されたクォートメタに関する文書を復元しました。 =item * =begin original We fixed an F example in L. =end original L での F の例を修正しました。 =item * =begin original We filled in a blank in L with the release date of Perl 5.12. =end original L での Perl 5.12 のリリース日の空白を埋めました。 =item * =begin original We fixed broken links in a number of perldelta files. =end original 多くの perldelta ファイルでの壊れたリンクを修正しました。 =item * =begin original The documentation for L incorrectly stated that the $Carp::Verbose variable makes cluck generate stack backtraces. =end original L の文書は、$Carp::Verbose 変数がスタックのバックトレースを 生成すると間違って記述されていました。 =item * =begin original We fixed a number of typos in L =end original L での多くのタイプミスを修正しました。 =item * =begin original We improved documentation of case-changing functions in L =end original L 内の、大文字小文字変換関数の文書を改良しました。 =item * =begin original We corrected L to contain the correct version of the GNU General Public License. =end original 正しいバージョンの GNU General Public License が含まれるように、 L を修正しました。 =back =head1 Testing (テスト) =head2 Testing Improvements (テストの改良) =over =item * =begin original F is now less prone to clock jitter during timing checks on Windows. =end original F は、Windows でのタイミングチェック中の時間計測の ぶれが少なくなりました。 =begin original sleep() time on Win32 may be rounded down to multiple of the clock tick interval. =end original Win32 での sleep() 時間は clock tick 間隔の倍数に 切り捨てられるかもしれません。 =item * =begin original F and F: Fixes for test failures on Darwin/PPC =end original F と F: Darwin/PPC でテストが失敗するのを 修正しました。 =item * =begin original F: Fix for test failures when C is installed. =end original F: C がインストールされていると テストが失敗するのを修正しました。 =back =head1 Installation and Configuration Improvements (インストールと設定の改良) =head2 Configuration improvements (設定の改良) =over =item * =begin original We updated F with notes about how to deal with broken F on OpenSUSE (and possibly other platforms) =end original OpenSUSE (と、おそらく他のプラットフォーム) での壊れている F の 扱い方に関する注意に関して、F を更新しました。 =back =head1 Bug Fixes (バグ修正) =over 4 =item * =begin original A bug in how we process filetest operations could cause a segfault. Filetests don't always expect an op on the stack, so we now use TOPs only if we're sure that we're not stat'ing the _ filehandle. This is indicated by OPf_KIDS (as checked in ck_ftst). =end original ファイルテスト演算子の処理の仕方によるバグにより、 セグメンテーションフォールトを引き起こしていました。 ファイルテストは常にスタック上のオペコードであるということを 期待しないので、_ ファイルハンドルを stat しているのではないことが 確実なときにのみ TOP を使うようになりました。 これは (ck_ftst でチェックされるように) OPf_KIDS として示されます。 =begin original See also: L =end original L も 参照してください。 =item * =begin original When deparsing a nextstate op that has both a change of package (relative to the previous nextstate) and a label, the package declaration is now emitted first, because it is syntactically impermissible for a label to prefix a package declaration. =end original (以前の nextstate と比べて)パッケージの変更とラベルの両方を持つ nextstate オペコードを逆パースするとき、パッケージ宣言がまず有効に なります; なぜならパッケージ宣言に前置するラベルは文法的に許可されないからです。 =item * =begin original XSUB.h now correctly redefines fgets under PERL_IMPLICIT_SYS =end original XSUB.h は PERL_IMPLICIT_SYS 時に正しく fgets を再定義するようになりました。 =begin original See also: L =end original L も 参照してください。 =item * =begin original utf8::is_utf8 now respects GMAGIC (e.g. $1) =end original utf8::is_utf8 は GMAGIC (e.g. $1) を尊重するようになりました。 =item * =begin original XS code using C or C: on Windows could cause an error due to their arguments being swapped. =end original Windows で C や C を使った XS コードが、 引数が入れ替わっていることによるエラーを引き起こすことがありました。 =begin original See also: L =end original L も 参照してください。 =item * =begin original We fixed a small bug in lex_stuff_pvn() that caused spurious syntax errors in an obscure situation. It happened when stuffing was performed on the last line of a file and the line ended with a statement that lacked a terminating semicolon. =end original lex_stuff_pvn() が不明確な条件で間違った文法エラーを起こすという小さい バグを修正しました。 これは詰め込みがファイルの最後の行に対して実行され、終端のセミコロンなしの 文で行が終わっているときに起こります。 =begin original See also: L =end original L も 参照してください。 =item * =begin original We fixed a bug that could cause \N{} constructs followed by a single . to be parsed incorrectly. =end original \N{} 構造の直後に単一の . があった場合に正しくパースされない問題を 修正しました。 =begin original See also: L =end original L も 参照してください。 =item * =begin original We fixed a bug that caused when(scalar) without an argument not to be treated as a syntax error. =end original 引数なしの when(scalar) が文法エラーとして扱われないバグを修正しました。 =begin original See also: L =end original L も 参照してください。 =item * =begin original We fixed a regression in the handling of labels immediately before string evals that was introduced in Perl 5.12.0. =end original Perl 5.12.0 で導入された文字列の eval の直前のラベルの扱いに関する 退行を修正しました。 =begin original See also: L =end original L も 参照してください。 =item * =begin original We fixed a regression in case-insensitive matching of folded characters in regular expressions introduced in Perl 5.12.0. =end original Perl 5.12.0 で導入された、正規表現で、包まれた文字列に大文字小文字を 無視したマッチングの退行を修正しました。 =begin original See also: L =end original L も 参照してください。 =back =head1 Platform Specific Notes (プラットフォーム固有の変更) =head2 HP-UX =over =item * =begin original Perl now allows -Duse64bitint without promoting to use64bitall on HP-UX =end original HP-UX で use64bitall に昇格することなく -Duse64bitint を 使えるようになりました。 =back =head2 AIX =over =item * =begin original Perl now builds on AIX 4.2 =end original Perl を AIX 4.2 でビルドできるようになりました。 =begin original The changes required work around AIX 4.2s' lack of support for IPv6, and limited support for POSIX C. =end original この変更のためには、AIX 4.2 が IPv6 対応していないことと、 POSIX C の対応が限定的であることを回避する必要がありました。 =back =head2 FreeBSD 7 =over =item * =begin original FreeBSD 7 no longer contains F. At build time, Perl now skips the F check for versions 7 and higher and assumes ELF. =end original FreeBSD 7 はもはや F を含んでいません。 ビルド時に、バージョンが 7 以上の場合は F のチェックを スキップし、ELF を仮定します。 =back =head2 VMS =over =item * =begin original It's now possible to build extensions on older (pre 7.3-2) VMS systems. =end original 古い (7.3-2 以前の) VMS システムでエクステンションを ビルドできるようになりました。 =begin original DCL symbol length was limited to 1K up until about seven years or so ago, but there was no particularly deep reason to prevent those older systems from configuring and building Perl. =end original DCL シンボルの長さは 7 年ほどの間最大 1K に制限されていましたが、 このような古いシステムのために Perl の設定、ビルドを妨げる 深い理由は特になくなりました。 =item * =begin original We fixed the previously-broken C<-Uuseperlio> build on VMS. =end original 以前は壊れていた VMS での C<-Uuseperlio> ビルドを修正しました。 =begin original We were checking a variable that doesn't exist in the non-default case of disabling perlio. Now we only look at it when it exists. =end original perlio を無効にするというデフォルトではない場合に存在しない変数を チェックしていました。 今は、それが存在するときにだけ見ます。 =item * =begin original We fixed the -Uuseperlio command-line option in configure.com. =end original configure.com での -Uuseperlio コマンドラインオプションを修正しました。 =begin original Formerly it only worked if you went through all the questions interactively and explicitly answered no. =end original 以前は、全ての質問に対話的に答えて、明示的に「いいえ」と答えた 時にのみ動作していました。 =back =head1 Known Problems (既知の問題) =over =item * =begin original C misbehaves in the presence of a lexical C<$_> (typically introduced by C or implicitly by C). The variable which gets set for each iteration is the package variable C<$_>, not the lexical C<$_>. =end original C は (典型的には C や C による) レキシカルな C<$_> の存在について振る舞いを間違えていました。 each の反復で設定される変数はレキシカルな C<$_> ではなくパッケージ変数の C<$_> です。 =begin original A similar issue may occur in other modules that provide functions which take a block as their first argument, like =end original 同様の問題は、以下のように、最初の引数としてブロックを取る関数を提供している その他のモジュールにも発生するかもしれません。 foo { ... $_ ...} list =begin original See also: L =end original L も 参照してください。 =item * =begin original C and C have an unfortunate interaction which can cause C to crash when it encounters an unparseable version string. Upgrading to C 0.9004 or C 0.38 from CPAN will resolve this issue. =end original C と C の不幸な相互作用により、 パースできないバージョン文字列に遭遇したときに C がクラッシュするようになっていました。 CPAN から、C を 0.9004 に更新するか、 C を 0.38 に更新することでこの問題を 解決できます。 =back =head1 Acknowledgements =begin original Perl 5.12.1 represents approximately four weeks of development since Perl 5.12.0 and contains approximately 4,000 lines of changes across 142 files from 28 authors. =end original Perl 5.12.1 は、Perl 5.12.0 以降、28 人の作者によって、 142 ファイルに対しておよそ 4000 行以上の変更を加えて、 ほぼ 4 週間開発されてきました。 =begin original Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.12.1: =end original Perl は、活気のあるユーザーと開発者のコミュニティのおかげで 20 年を超えて繁栄しています。 以下の人々が、Perl 5.12.1 になるための改良に貢献したことが 分かっています: Ævar Arnfjörð Bjarmason, Chris Williams, chromatic, Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, Frank Wiegand, Gene Sullivan, Goro Fuji, H.Merijn Brand, James E Keenan, Jan Dubois, Jesse Vincent, Josh ben Jore, Karl Williamson, Leon Brocard, Michael Schwern, Nga Tang Chan, Nicholas Clark, Niko Tyni, Philippe Bruhat, Rafael Garcia-Suarez, Ricardo Signes, Steffen Mueller, Todd Rinaldo, Vincent Pit and Zefram. =head1 Reporting Bugs (バグ報告) =begin original If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at http://rt.perl.org/perlbug/ . There may also be information at http://www.perl.org/ , the Perl Home Page. =end original もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに 最近投稿された記事や http://rt.perl.org/perlbug/ にある perl バグ データベースを確認してください。 Perl ホームページ、http://www.perl.org にも情報があります。 =begin original If you believe you have an unreported bug, please run the B program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of C, will be sent off to perlbug@perl.org to be analysed by the Perl porting team. =end original もしまだ報告されていないバグだと確信したら、そのリリースに含まれている B プログラムを実行してください。 バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを 意識してください。バグレポートは C の出力と一緒に perlbug@perl.org に送られ Perl porting チームによって解析されます。 =begin original If the bug you are reporting has security implications, which make it inappropriate to send to a publicly archived mailing list, then please send it to perl5-security-report@perl.org. This points to a closed subscription unarchived mailing list, which includes all the core committers, who be able to help assess the impact of issues, figure out a resolution, and help co-ordinate the release of patches to mitigate or fix the problem across all platforms on which Perl is supported. Please only use this address for security issues in the Perl core, not for modules independently distributed on CPAN. =end original もし報告しようとしているバグがセキュリティに関するもので、公開されている メーリングリストに送るのが不適切なものなら、 perl5-security-report@perl.org に送ってください。 このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している 全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを 助けることが出来る、全てのコアコミッタが参加している非公開の メーリングリストになっています。 このアドレスは、独自に CPAN で配布されているモジュールではなく、 Perl コアのセキュリティ問題だけに使ってください。 =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 ファイル。 =begin meta Translate: Kentaro Shirakata =end meta =cut