9 |
|
|
10 |
=end original |
=end original |
11 |
|
|
12 |
perldelta - perl v5.10.1 での変更点 |
perl5101delta - perl v5.10.1 での変更点 |
13 |
|
|
14 |
=head1 DESCRIPTION |
=head1 DESCRIPTION |
15 |
|
|
51 |
|
|
52 |
=end original |
=end original |
53 |
|
|
54 |
|
C<given>/C<when> による複雑な式の扱いが拡張されました。 |
55 |
|
新しく、C<when> がスマートマッチングの式ではなく真偽値として |
56 |
|
引数を解釈する場合が二つあります。 |
57 |
|
|
58 |
=over 4 |
=over 4 |
59 |
|
|
60 |
=item flip-flop operators |
=item flip-flop operators |
61 |
|
|
62 |
|
(フリップフロップ演算子) |
63 |
|
|
64 |
=begin original |
=begin original |
65 |
|
|
66 |
The C<..> and C<...> flip-flop operators are now evaluated in boolean |
The C<..> and C<...> flip-flop operators are now evaluated in boolean |
68 |
|
|
69 |
=end original |
=end original |
70 |
|
|
71 |
|
C<..> と C<...> のフリップフロップ演算子は、通常の文法に従ってブール値 |
72 |
|
コンテキストで評価されるようになりました。 |
73 |
|
L<perlop/"Range Operators"> を参照してください。 |
74 |
|
|
75 |
=begin original |
=begin original |
76 |
|
|
80 |
|
|
81 |
=end original |
=end original |
82 |
|
|
83 |
|
perl 5.10.0 では、C<when (1..10)> としても、与えられた値が 1 から 10 の間の |
84 |
|
数値かどうかをテストするようには動作しないことに注意してください; |
85 |
|
代わりに C<when ([1..10])> を使うべきです (配列リファレンスに |
86 |
|
注意してください)。 |
87 |
|
|
88 |
=begin original |
=begin original |
89 |
|
|
93 |
|
|
94 |
=end original |
=end original |
95 |
|
|
96 |
|
しかし、5.10.0 とは反対に、C<when()> でブール値コンテキストで |
97 |
|
フリップフロップ演算子が評価されることが保証されることで、 |
98 |
|
特に以下のように双安定条件を実装するときに便利です: |
99 |
|
|
100 |
when (/^=begin/ .. /^=end/) { |
when (/^=begin/ .. /^=end/) { |
101 |
# do something |
# do something |
103 |
|
|
104 |
=item defined-or operator |
=item defined-or operator |
105 |
|
|
106 |
|
(定義性和 (defined-or) 演算子) |
107 |
|
|
108 |
=begin original |
=begin original |
109 |
|
|
110 |
A compound expression involving the defined-or operator, as in |
A compound expression involving the defined-or operator, as in |
114 |
|
|
115 |
=end original |
=end original |
116 |
|
|
117 |
|
C<when (expr1 // expr2)> のような、定義性和 (defined-or) を含む複合式は、 |
118 |
|
最初の式が真偽値なら真偽値として扱われます。 |
119 |
|
(これは単に、C<when (expr1 || expr2)> のような通常の or 演算子に |
120 |
|
適用されるすでにあるルールの拡張です。 |
121 |
|
|
122 |
=back |
=back |
123 |
|
|
129 |
|
|
130 |
=end original |
=end original |
131 |
|
|
132 |
|
次の章では、スマートマッチング演算子の文法に関するさらなる変更と、 |
133 |
|
当然のながら暗黙にスマートマッチングを使っている switch 文の |
134 |
|
振る舞いの変更について詳述します。 |
135 |
|
|
136 |
=head2 Smart match changes |
=head2 Smart match changes |
137 |
|
|
151 |
|
|
152 |
=end original |
=end original |
153 |
|
|
154 |
|
スマートマッチング演算子 C<~~> はもはや可換性を持ちません。 |
155 |
|
スマートマッチングの振る舞いは、まず右側の引数の型に依存します。 |
156 |
|
さらに、その文法は一貫性と有用性をより高めるために調整されました。 |
157 |
|
一般的な後方互換性は維持されている一方、いくつかの変更点には |
158 |
|
注意しなければなりません: |
159 |
|
|
160 |
=over 4 |
=over 4 |
161 |
|
|
169 |
|
|
170 |
=end original |
=end original |
171 |
|
|
172 |
|
空のプロトタイプを持つコードリファレンスは特別扱いされなくなりました。 |
173 |
|
(たとえ無視されることになるとしても)これらはその他のコードリファレンスと同様に |
174 |
|
引数として渡されます。 |
175 |
|
|
176 |
=item * |
=item * |
177 |
|
|
184 |
|
|
185 |
=end original |
=end original |
186 |
|
|
187 |
|
C<%hash ~~ sub {}> と C<@array ~~ sub {}> は、 |
188 |
|
ハッシュや配列全体をリファレンスとしてサブルーチンに渡すのではなく、 |
189 |
|
ハッシュのそれぞれのキー(または配列の要素)に対してサブルーチンが |
190 |
|
真を返すかどうかをテストするようになりました。 |
191 |
|
|
192 |
=item * |
=item * |
193 |
|
|
199 |
|
|
200 |
=end original |
=end original |
201 |
|
|
202 |
|
可換性の破綻により、コードリファレンスは C<~~> 演算子の左側に |
203 |
|
現れたときにはもはや特別扱いされず、普通のスカラと同じように扱われます。 |
204 |
|
|
205 |
=item * |
=item * |
206 |
|
|
212 |
|
|
213 |
=end original |
=end original |
214 |
|
|
215 |
|
C<undef ~~ %hash> は常に偽となります (なぜなら C<undef> はハッシュのキーとして |
216 |
|
使えないからです)。 |
217 |
|
(perl 5.10.0 の場合のように)C<""> への暗黙の変換は行われません。 |
218 |
|
|
219 |
=item * |
=item * |
220 |
|
|
227 |
|
|
228 |
=end original |
=end original |
229 |
|
|
230 |
|
C<$scalar ~~ @array> は常に配列の要素に対してスマートマッチングを |
231 |
|
分配するようになりました。 |
232 |
|
これは、もし @array の一つの要素が C<$scalar ~~ $element> で検証されれば |
233 |
|
真となります。 |
234 |
|
これは、配列にあるスカラが含まれているかどうかをテストする古い振る舞いの |
235 |
|
一般化です。 |
236 |
|
|
237 |
=back |
=back |
238 |
|
|
243 |
|
|
244 |
=end original |
=end original |
245 |
|
|
246 |
|
スマートマッチング演算子に関する完全な発行テーブルは |
247 |
|
L<perlsyn/"Smart matching in detail"> にあります。 |
248 |
|
|
249 |
=head3 Smart match and overloading |
=head3 Smart match and overloading |
250 |
|
|
266 |
|
|
267 |
=end original |
=end original |
268 |
|
|
269 |
|
一番右の引数の型に依存するという発行ルールによれば、 |
270 |
|
演算子の右側にオブジェクトのオーバーロード C<~~> が現れたとき、 |
271 |
|
オーバーロードルーチンは(3 番目の引数に真の値を設定して; L<overload> を |
272 |
|
参照してください) 常に呼び出されます。 |
273 |
|
しかし、オブジェクトが左側に現れたとき、オーバーロードルーチンは |
274 |
|
一番右の引数が単純なスカラの場合にのみ呼び出されます。 |
275 |
|
これによって配列に対するスマートマッチングの分配性や |
276 |
|
複合型(コードリファレンス、ハッシュ、正規表現)に対するその他の振る舞いは |
277 |
|
壊れません。 |
278 |
|
従って、スマートマッチングのためのローバーロードルーチンの作者は |
279 |
|
ほとんどの場合、スカラの比較と、可能性があるなら文字列化のオーバーロードに |
280 |
|
関してのみ心配する必要があります; その他の一般的な場合は |
281 |
|
一貫性を持って自動的に扱われます。 |
282 |
|
|
283 |
=begin original |
=begin original |
284 |
|
|
289 |
|
|
290 |
=end original |
=end original |
291 |
|
|
292 |
|
C<~~> は、オーバーロードしていないオブジェクトに対して動作しなくなりました |
293 |
|
(オブジェクトの基礎となる構造に依存することを避けるためです)。 |
294 |
|
しかし、オブジェクトが文字列化か数値化演算子をオーバーロードしていて、 |
295 |
|
オーバーロードのフォールバックが有効の場合は、通常通りに使われます。) |
296 |
|
|
297 |
=head2 Other incompatible changes |
=head2 Other incompatible changes |
298 |
|
|
309 |
|
|
310 |
=end original |
=end original |
311 |
|
|
312 |
|
C<use feature :5.10*> の文法が少し変更されました。 |
313 |
|
さらなる情報については L<"Modules and Pragmata"> を参照してください。 |
314 |
|
|
315 |
=item * |
=item * |
316 |
|
|
323 |
|
|
324 |
=end original |
=end original |
325 |
|
|
326 |
|
オーバーロードが定義されていないオブジェクトに対してスマートマッチング |
327 |
|
演算子 C<~~> を使うと、実行時エラーが出るようになりました。 |
328 |
|
(これで、C<~~> オブジェクトのリファレンスとしての内部表現に |
329 |
|
マッチングすることでカプセル化を壊すことがなくなります。) |
330 |
|
|
331 |
=item * |
=item * |
332 |
|
|
340 |
|
|
341 |
=end original |
=end original |
342 |
|
|
343 |
|
perl インタプリタの開発で使われるバージョン管理システムが Perforce から |
344 |
|
git に変更されました。 |
345 |
|
これは主に内部の問題で、perl コアに対して積極的に作業をする |
346 |
|
人々にのみ影響があります; |
347 |
|
しかし、C<perl -V> の出力の詳細の一部のように、外から見えるところにも |
348 |
|
多少の変更があります。 |
349 |
|
さらなる情報については L<perlrepository> を参照してください。 |
350 |
|
|
351 |
=item * |
=item * |
352 |
|
|
364 |
|
|
365 |
=end original |
=end original |
366 |
|
|
367 |
|
perl ソースの C<ext/> ディレクトリの内部構造が再構成されました。 |
368 |
|
一般的に、今まで F<ext/Foo/Bar/> にソースが保管されていた |
369 |
|
C<Foo::Bar> モジュールは、F<ext/Foo-Bar/> に置かれるようになりました。 |
370 |
|
また、いくつかのモジュールが F<lib/> から F<ext/> に移動しました。 |
371 |
|
これは純粋にソース tarball の変更なので、この構造に明示的に |
372 |
|
依存していたり、F<Configure> の C<nonxs_ext> パラメータを |
373 |
|
ハードコーディングしているような、とてもカスタマイズされたビルド処理を |
374 |
|
するのでない限り、perl のコンパイルやインストールに違いはないはずです。 |
375 |
|
特に、この変更によっても最終的にインストールされたファイルの位置は |
376 |
|
変更されません。 |
377 |
|
|
378 |
=item * |
=item * |
379 |
|
|
385 |
|
|
386 |
=end original |
=end original |
387 |
|
|
388 |
|
C<Test::Harness> 2.x から 3.x へのアップグレードへの一部として、 |
389 |
|
実験的な C<Test::Harness::Straps> モジュールは取り除かれました。 |
390 |
|
さらなる詳細については L</"Updated Modules"> を参照してください。 |
391 |
|
|
392 |
=item * |
=item * |
393 |
|
|
399 |
|
|
400 |
=end original |
=end original |
401 |
|
|
402 |
|
C<ExtUtils::MakeMaker> のアップグレードの一部として、 |
403 |
|
C<ExtUtils::MakeMaker::bytes> と C<ExtUtils::MakeMaker::vmsish> の |
404 |
|
モジュールはこの配布から取り除かれました。 |
405 |
|
|
406 |
=item * |
=item * |
407 |
|
|
411 |
|
|
412 |
=end original |
=end original |
413 |
|
|
414 |
|
C<Module::CoreList> はもはや C<%:patchlevel> ハッシュを含まなくなりました。 |
415 |
|
|
416 |
=item * |
=item * |
417 |
|
|
422 |
|
|
423 |
=end original |
=end original |
424 |
|
|
425 |
|
これは実際には 5.10.0 で導入された変更ですが、5.10.0 の perldelta からは |
426 |
|
漏れているので、代わりにここで言及します。 |
427 |
|
|
428 |
=begin original |
=begin original |
429 |
|
|
432 |
|
|
433 |
=end original |
=end original |
434 |
|
|
435 |
|
C</m> 修飾子と C<qr> の扱いに関するバグ修正の結果、5.8.x と 5.10.0 で |
436 |
|
振る舞いが変わっています: |
437 |
|
|
438 |
# matches in 5.8.x, doesn't match in 5.10.0 |
# matches in 5.8.x, doesn't match in 5.10.0 |
439 |
$re = qr/^bar/; "foo\nbar" =~ /$re/m; |
$re = qr/^bar/; "foo\nbar" =~ /$re/m; |
442 |
|
|
443 |
=head1 Core Enhancements |
=head1 Core Enhancements |
444 |
|
|
445 |
(Core の拡張) |
(コアの拡張) |
446 |
|
|
447 |
=head2 Unicode Character Database 5.1.0 |
=head2 Unicode Character Database 5.1.0 |
448 |
|
|
475 |
|
|
476 |
=end original |
=end original |
477 |
|
|
478 |
|
Perl 5.10.1 から、デフォルト (線形深さ優先検索) 以外のメソッド解決順序を |
479 |
|
追加して使うための新しいインターフェースがあります。 |
480 |
|
5.10.0 で追加された C3 メソッド解決順序は、Perl 空間でのインターフェースの |
481 |
|
変更なしにプラグインとして再実装されました。 |
482 |
|
さらなる情報については L<perlmroapi> を参照してください。 |
483 |
|
|
484 |
=head2 The C<overloading> pragma |
=head2 The C<overloading> pragma |
485 |
|
|
492 |
|
|
493 |
=end original |
=end original |
494 |
|
|
495 |
|
このプラグマは、演算子の一部あるいは全部を、レキシカルに無効化あるいは |
496 |
|
有効化します。 |
497 |
|
(Yuval Kogman) |
498 |
|
|
499 |
=head2 Parallel tests |
=head2 Parallel tests |
500 |
|
|
501 |
(平行テスト) |
(並列テスト) |
502 |
|
|
503 |
=begin original |
=begin original |
504 |
|
|
509 |
|
|
510 |
=end original |
=end original |
511 |
|
|
512 |
|
コア配布は、Unix 風プラットフォームでは退行テストを並列に実行できるように |
513 |
|
なりました。 |
514 |
|
C<make test> を実行する代わりに、環境変数 C<TEST_JOBS> に並列に |
515 |
|
実行するテスト数を設定して、C<make test_harness> を実行します。 |
516 |
|
Bourne-風のシェルでは、これは以下のようにします |
517 |
|
|
518 |
TEST_JOBS=3 make test_harness # Run 3 tests in parallel |
TEST_JOBS=3 make test_harness # Run 3 tests in parallel |
519 |
|
|
526 |
|
|
527 |
=end original |
=end original |
528 |
|
|
529 |
|
並列 make 自身ではなく、環境変数を使います; なぜなら |
530 |
|
L<TAP::Harness> はここの競合しないテストスクリプト自身を計画できる必要が |
531 |
|
ありますが、C<make> ユーティリティのジョブスケジューラと相互作用するための |
532 |
|
標準的なインターフェースはないからです。 |
533 |
|
|
534 |
=begin original |
=begin original |
535 |
|
|
539 |
|
|
540 |
=end original |
=end original |
541 |
|
|
542 |
|
いくつかのテストスクリプト(特に C<ext/IO/t/io_dir.t>)は並列に実行すると |
543 |
|
失敗するかもしれないことに注意してください。 |
544 |
|
もし必要なら、失敗したスクリプトを順番に再実行して、失敗しなくなることを |
545 |
|
確認してください。 |
546 |
|
|
547 |
=head2 DTrace support |
=head2 DTrace support |
548 |
|
|
554 |
|
|
555 |
=end original |
=end original |
556 |
|
|
557 |
|
DTrace へのいくらかの対応が追加されました。 |
558 |
|
F<INSTALL> の "DTrace support" を参照してください。 |
559 |
|
|
560 |
=head2 Support for C<configure_requires> in CPAN module metadata |
=head2 Support for C<configure_requires> in CPAN module metadata |
561 |
|
|
570 |
|
|
571 |
=end original |
=end original |
572 |
|
|
573 |
|
C<CPAN> と C<CPANPLUS> は、ほとんどの最近の CPAN 配布が含んでいる |
574 |
|
メタデータファイル C<META.yml> の C<configure_requires> キーワードに |
575 |
|
対応しました。 |
576 |
|
これにより、F<Makefile.PL> や F<Build.PL> が実行される前に |
577 |
|
インストールされていなければならない設定の事前条件を指定できます。 |
578 |
|
|
579 |
=begin original |
=begin original |
580 |
|
|
583 |
|
|
584 |
=end original |
=end original |
585 |
|
|
586 |
|
CPAN で配布するときに C<configure_requires> を指定する方法については |
587 |
|
C<ExtUtils::MakeMaker> か C<Module::Build> の文書を参照してください。 |
588 |
|
|
589 |
=head1 Modules and Pragmata |
=head1 Modules and Pragmata |
590 |
|
|
607 |
|
|
608 |
=end original |
=end original |
609 |
|
|
610 |
|
これは C<Fatal> モジュール代用品で、新しくレキシカルスコープを持つものです。 |
611 |
|
同梱されているバージョンは 2.06_01 です。 |
612 |
|
このリリースでは、C<autodie> が有効の時に文字列 eval を使うと、 |
613 |
|
autodie の振る舞いが周りのスコープに漏れるかもしれないことに |
614 |
|
注意してください。 |
615 |
|
さらなる詳細については L<autodie/"BUGS"> を参照してください。 |
616 |
|
|
617 |
=item C<Compress::Raw::Bzip2> |
=item C<Compress::Raw::Bzip2> |
618 |
|
|
622 |
|
|
623 |
=end original |
=end original |
624 |
|
|
625 |
|
これはコアに追加されました (バージョン 2.020)。 |
626 |
|
|
627 |
=item C<parent> |
=item C<parent> |
628 |
|
|
633 |
|
|
634 |
=end original |
=end original |
635 |
|
|
636 |
|
このプラグマは、基底クラスとの ISA 関係をコンパイル時に構築します。 |
637 |
|
これは、機能の不愉快な部分なしに C<base> の主となる機能を提供します。 |
638 |
|
|
639 |
=item C<Parse::CPAN::Meta> |
=item C<Parse::CPAN::Meta> |
640 |
|
|
644 |
|
|
645 |
=end original |
=end original |
646 |
|
|
647 |
|
これはコアに追加されました (バージョン 1.39)。 |
648 |
|
|
649 |
=back |
=back |
650 |
|
|
662 |
|
|
663 |
=end original |
=end original |
664 |
|
|
665 |
|
0.08 から 0.09 に更新されました。 |
666 |
|
|
667 |
=item C<attrs> |
=item C<attrs> |
668 |
|
|
672 |
|
|
673 |
=end original |
=end original |
674 |
|
|
675 |
|
1.02 から 1.03 に更新されました。 |
676 |
|
|
677 |
=item C<base> |
=item C<base> |
678 |
|
|
682 |
|
|
683 |
=end original |
=end original |
684 |
|
|
685 |
|
2.13 から 2.14 に更新されました。 |
686 |
|
代用品については L<parent> を参照してください。 |
687 |
|
|
688 |
=item C<bigint> |
=item C<bigint> |
689 |
|
|
693 |
|
|
694 |
=end original |
=end original |
695 |
|
|
696 |
|
0.22 から 0.23 に更新されました。 |
697 |
|
|
698 |
=item C<bignum> |
=item C<bignum> |
699 |
|
|
703 |
|
|
704 |
=end original |
=end original |
705 |
|
|
706 |
|
0.22 から 0.23 に更新されました。 |
707 |
|
|
708 |
=item C<bigrat> |
=item C<bigrat> |
709 |
|
|
713 |
|
|
714 |
=end original |
=end original |
715 |
|
|
716 |
|
0.22 から 0.23 に更新されました。 |
717 |
|
|
718 |
=item C<charnames> |
=item C<charnames> |
719 |
|
|
723 |
|
|
724 |
=end original |
=end original |
725 |
|
|
726 |
|
1.06 から 1.07 に更新されました。 |
727 |
|
|
728 |
=begin original |
=begin original |
729 |
|
|
733 |
|
|
734 |
=end original |
=end original |
735 |
|
|
736 |
|
Unicode F<NameAliases.txt> データベースファイルが追加されました。 |
737 |
|
これにより、以前は認識されなかった追加の C<\N> 文字名(例えば |
738 |
|
C<"\N{LATIN CAPITAL LETTER GHA}">) が追加される効果があります。 |
739 |
|
|
740 |
=item C<constant> |
=item C<constant> |
741 |
|
|
745 |
|
|
746 |
=end original |
=end original |
747 |
|
|
748 |
|
1.13 から 1.17 に更新されました。 |
749 |
|
|
750 |
=item C<feature> |
=item C<feature> |
751 |
|
|
760 |
|
|
761 |
=end original |
=end original |
762 |
|
|
763 |
|
C<:5.10> および C<:5.10.X> で組み込まれる機能が僅かに変更されました。 |
764 |
|
最後の要素 (つまり C<X>) がもしあっても、単に無視されます。 |
765 |
|
これは、一般的にはメンテナンスリリースでは新しい機能はないという仮定に |
766 |
|
基づいています。 |
767 |
|
従って、C<:5.10> と C<:5.10.X> は同じ効果を持ちます。 |
768 |
|
これは 5.10.0 で文書化されている振る舞いへの変更です。 |
769 |
|
|
770 |
=item C<fields> |
=item C<fields> |
771 |
|
|
776 |
|
|
777 |
=end original |
=end original |
778 |
|
|
779 |
|
2.13 から 2.14 に更新されました (これは単なるバージョン番号の衝突でした; |
780 |
|
機能的な変更はありません)。 |
781 |
|
|
782 |
=item C<lib> |
=item C<lib> |
783 |
|
|
787 |
|
|
788 |
=end original |
=end original |
789 |
|
|
790 |
|
0.5565 から 0.62 に更新されました。 |
791 |
|
|
792 |
=item C<open> |
=item C<open> |
793 |
|
|
797 |
|
|
798 |
=end original |
=end original |
799 |
|
|
800 |
|
1.06 から 1.07 に更新されました。 |
801 |
|
|
802 |
=item C<overload> |
=item C<overload> |
803 |
|
|
807 |
|
|
808 |
=end original |
=end original |
809 |
|
|
810 |
|
1.06 から 1.07 に更新されました。 |
811 |
|
|
812 |
=item C<overloading> |
=item C<overloading> |
813 |
|
|
817 |
|
|
818 |
=end original |
=end original |
819 |
|
|
820 |
|
上述の L</"The C<overloading> pragma"> を参照してください。 |
821 |
|
|
822 |
=item C<version> |
=item C<version> |
823 |
|
|
827 |
|
|
828 |
=end original |
=end original |
829 |
|
|
830 |
|
0.74 から 0.77 に更新されました。 |
831 |
|
|
832 |
=back |
=back |
833 |
|
|
845 |
|
|
846 |
=end original |
=end original |
847 |
|
|
848 |
|
0.24 から 0.34 に更新されました。 |
849 |
|
|
850 |
=item C<Archive::Tar> |
=item C<Archive::Tar> |
851 |
|
|
855 |
|
|
856 |
=end original |
=end original |
857 |
|
|
858 |
|
1.38 から 1.52 に更新されました。 |
859 |
|
|
860 |
=item C<Attribute::Handlers> |
=item C<Attribute::Handlers> |
861 |
|
|
865 |
|
|
866 |
=end original |
=end original |
867 |
|
|
868 |
|
0.79 から 0.85 に更新されました。 |
869 |
|
|
870 |
=item C<AutoLoader> |
=item C<AutoLoader> |
871 |
|
|
875 |
|
|
876 |
=end original |
=end original |
877 |
|
|
878 |
|
5.63 から 5.68 に更新されました。 |
879 |
|
|
880 |
=item C<AutoSplit> |
=item C<AutoSplit> |
881 |
|
|
885 |
|
|
886 |
=end original |
=end original |
887 |
|
|
888 |
|
1.05 から 1.06 に更新されました。 |
889 |
|
|
890 |
=item C<B> |
=item C<B> |
891 |
|
|
895 |
|
|
896 |
=end original |
=end original |
897 |
|
|
898 |
|
1.17 から 1.22 に更新されました。 |
899 |
|
|
900 |
=item C<B::Debug> |
=item C<B::Debug> |
901 |
|
|
905 |
|
|
906 |
=end original |
=end original |
907 |
|
|
908 |
|
1.05 から 1.11 に更新されました。 |
909 |
|
|
910 |
=item C<B::Deparse> |
=item C<B::Deparse> |
911 |
|
|
915 |
|
|
916 |
=end original |
=end original |
917 |
|
|
918 |
|
0.83 から 0.89 に更新されました。 |
919 |
|
|
920 |
=item C<B::Lint> |
=item C<B::Lint> |
921 |
|
|
925 |
|
|
926 |
=end original |
=end original |
927 |
|
|
928 |
|
1.09 から 1.11 に更新されました。 |
929 |
|
|
930 |
=item C<B::Xref> |
=item C<B::Xref> |
931 |
|
|
935 |
|
|
936 |
=end original |
=end original |
937 |
|
|
938 |
|
1.01 から 1.02 に更新されました。 |
939 |
|
|
940 |
=item C<Benchmark> |
=item C<Benchmark> |
941 |
|
|
945 |
|
|
946 |
=end original |
=end original |
947 |
|
|
948 |
|
1.10 から 1.11 に更新されました。 |
949 |
|
|
950 |
=item C<Carp> |
=item C<Carp> |
951 |
|
|
955 |
|
|
956 |
=end original |
=end original |
957 |
|
|
958 |
|
1.08 から 1.11 に更新されました。 |
959 |
|
|
960 |
=item C<CGI> |
=item C<CGI> |
961 |
|
|
966 |
|
|
967 |
=end original |
=end original |
968 |
|
|
969 |
|
3.29 から 3.43 に更新されました。 |
970 |
|
(また、3.45 の "default_value for popup_menu()" の修正を含んでいます)。 |
971 |
|
|
972 |
=item C<Compress::Zlib> |
=item C<Compress::Zlib> |
973 |
|
|
977 |
|
|
978 |
=end original |
=end original |
979 |
|
|
980 |
|
2.008 から 2.020 に更新されました。 |
981 |
|
|
982 |
=item C<CPAN> |
=item C<CPAN> |
983 |
|
|
988 |
|
|
989 |
=end original |
=end original |
990 |
|
|
991 |
|
1.9205 から 1.9402 に更新されました。 |
992 |
|
C<CPAN::FTP> は、ダウンロード失敗時に饒舌すぎるのを止めるローカルな |
993 |
|
修正をしています。 |
994 |
|
|
995 |
=item C<CPANPLUS> |
=item C<CPANPLUS> |
996 |
|
|
1000 |
|
|
1001 |
=end original |
=end original |
1002 |
|
|
1003 |
|
0.84 から 0.88 に更新されました。 |
1004 |
|
|
1005 |
=item C<CPANPLUS::Dist::Build> |
=item C<CPANPLUS::Dist::Build> |
1006 |
|
|
1010 |
|
|
1011 |
=end original |
=end original |
1012 |
|
|
1013 |
|
0.06_02 から 0.36 に更新されました。 |
1014 |
|
|
1015 |
=item C<Cwd> |
=item C<Cwd> |
1016 |
|
|
1020 |
|
|
1021 |
=end original |
=end original |
1022 |
|
|
1023 |
|
3.25_01 から 3.30 に更新されました。 |
1024 |
|
|
1025 |
=item C<Data::Dumper> |
=item C<Data::Dumper> |
1026 |
|
|
1030 |
|
|
1031 |
=end original |
=end original |
1032 |
|
|
1033 |
|
2.121_14 から 2.124 に更新されました。 |
1034 |
|
|
1035 |
=item C<DB> |
=item C<DB> |
1036 |
|
|
1040 |
|
|
1041 |
=end original |
=end original |
1042 |
|
|
1043 |
|
1.01 から 1.02 に更新されました。 |
1044 |
|
|
1045 |
=item C<DB_File> |
=item C<DB_File> |
1046 |
|
|
1050 |
|
|
1051 |
=end original |
=end original |
1052 |
|
|
1053 |
|
1.816_1 から 1.820 に更新されました。 |
1054 |
|
|
1055 |
=item C<Devel::PPPort> |
=item C<Devel::PPPort> |
1056 |
|
|
1060 |
|
|
1061 |
=end original |
=end original |
1062 |
|
|
1063 |
|
3.13 から 3.19 に更新されました。 |
1064 |
|
|
1065 |
=item C<Digest::MD5> |
=item C<Digest::MD5> |
1066 |
|
|
1070 |
|
|
1071 |
=end original |
=end original |
1072 |
|
|
1073 |
|
2.36_01 から 2.39 に更新されました。 |
1074 |
|
|
1075 |
=item C<Digest::SHA> |
=item C<Digest::SHA> |
1076 |
|
|
1080 |
|
|
1081 |
=end original |
=end original |
1082 |
|
|
1083 |
|
5.45 から 5.47 に更新されました。 |
1084 |
|
|
1085 |
=item C<DirHandle> |
=item C<DirHandle> |
1086 |
|
|
1090 |
|
|
1091 |
=end original |
=end original |
1092 |
|
|
1093 |
|
1.01 から 1.03 に更新されました。 |
1094 |
|
|
1095 |
=item C<Dumpvalue> |
=item C<Dumpvalue> |
1096 |
|
|
1100 |
|
|
1101 |
=end original |
=end original |
1102 |
|
|
1103 |
|
1.12 から 1.13 に更新されました。 |
1104 |
|
|
1105 |
=item C<DynaLoader> |
=item C<DynaLoader> |
1106 |
|
|
1110 |
|
|
1111 |
=end original |
=end original |
1112 |
|
|
1113 |
|
1.08 から 1.10 に更新されました。 |
1114 |
|
|
1115 |
=item C<Encode> |
=item C<Encode> |
1116 |
|
|
1120 |
|
|
1121 |
=end original |
=end original |
1122 |
|
|
1123 |
|
2.23 から 2.35 に更新されました。 |
1124 |
|
|
1125 |
=item C<Errno> |
=item C<Errno> |
1126 |
|
|
1130 |
|
|
1131 |
=end original |
=end original |
1132 |
|
|
1133 |
|
1.10 から 1.11 に更新されました。 |
1134 |
|
|
1135 |
=item C<Exporter> |
=item C<Exporter> |
1136 |
|
|
1140 |
|
|
1141 |
=end original |
=end original |
1142 |
|
|
1143 |
|
5.62 から 5.63 に更新されました。 |
1144 |
|
|
1145 |
=item C<ExtUtils::CBuilder> |
=item C<ExtUtils::CBuilder> |
1146 |
|
|
1150 |
|
|
1151 |
=end original |
=end original |
1152 |
|
|
1153 |
|
0.21 から 0.2602 に更新されました。 |
1154 |
|
|
1155 |
=item C<ExtUtils::Command> |
=item C<ExtUtils::Command> |
1156 |
|
|
1160 |
|
|
1161 |
=end original |
=end original |
1162 |
|
|
1163 |
|
1.13 から 1.16 に更新されました。 |
1164 |
|
|
1165 |
=item C<ExtUtils::Constant> |
=item C<ExtUtils::Constant> |
1166 |
|
|
1171 |
|
|
1172 |
=end original |
=end original |
1173 |
|
|
1174 |
|
0.20 から 0.22 に更新されました。 |
1175 |
|
(これらのバージョンは CPAN にはないことに注意してください。) |
1176 |
|
|
1177 |
=item C<ExtUtils::Embed> |
=item C<ExtUtils::Embed> |
1178 |
|
|
1182 |
|
|
1183 |
=end original |
=end original |
1184 |
|
|
1185 |
|
1.27 から 1.28 に更新されました。 |
1186 |
|
|
1187 |
=item C<ExtUtils::Install> |
=item C<ExtUtils::Install> |
1188 |
|
|
1192 |
|
|
1193 |
=end original |
=end original |
1194 |
|
|
1195 |
|
1.44 から 1.54 に更新されました。 |
1196 |
|
|
1197 |
=item C<ExtUtils::MakeMaker> |
=item C<ExtUtils::MakeMaker> |
1198 |
|
|
1202 |
|
|
1203 |
=end original |
=end original |
1204 |
|
|
1205 |
|
6.42 から 6.55_02 に更新されました。 |
1206 |
|
|
1207 |
=begin original |
=begin original |
1208 |
|
|
1211 |
|
|
1212 |
=end original |
=end original |
1213 |
|
|
1214 |
|
C<ExtUtils::MakeMaker::bytes> と C<ExtUtils::MakeMaker::vmsish> は |
1215 |
|
この配布から取り除かれたことに注意してください。 |
1216 |
|
|
1217 |
=item C<ExtUtils::Manifest> |
=item C<ExtUtils::Manifest> |
1218 |
|
|
1222 |
|
|
1223 |
=end original |
=end original |
1224 |
|
|
1225 |
|
1.51_01 から 1.56 に更新されました。 |
1226 |
|
|
1227 |
=item C<ExtUtils::ParseXS> |
=item C<ExtUtils::ParseXS> |
1228 |
|
|
1232 |
|
|
1233 |
=end original |
=end original |
1234 |
|
|
1235 |
|
2.18_02 から 2.2002 に更新されました。 |
1236 |
|
|
1237 |
=item C<Fatal> |
=item C<Fatal> |
1238 |
|
|
1242 |
|
|
1243 |
=end original |
=end original |
1244 |
|
|
1245 |
|
1.05 から 2.06_01 に更新されました。 |
1246 |
|
新しいプラグマである C<autodie> も参照してください。 |
1247 |
|
|
1248 |
=item C<File::Basename> |
=item C<File::Basename> |
1249 |
|
|
1253 |
|
|
1254 |
=end original |
=end original |
1255 |
|
|
1256 |
|
2.76 から 2.77 に更新されました。 |
1257 |
|
|
1258 |
=item C<File::Compare> |
=item C<File::Compare> |
1259 |
|
|
1263 |
|
|
1264 |
=end original |
=end original |
1265 |
|
|
1266 |
|
1.1005 から 1.1006 に更新されました。 |
1267 |
|
|
1268 |
=item C<File::Copy> |
=item C<File::Copy> |
1269 |
|
|
1273 |
|
|
1274 |
=end original |
=end original |
1275 |
|
|
1276 |
|
2.11 から 2.14 に更新されました。 |
1277 |
|
|
1278 |
=item C<File::Fetch> |
=item C<File::Fetch> |
1279 |
|
|
1283 |
|
|
1284 |
=end original |
=end original |
1285 |
|
|
1286 |
|
0.14 から 0.20 に更新されました。 |
1287 |
|
|
1288 |
=item C<File::Find> |
=item C<File::Find> |
1289 |
|
|
1293 |
|
|
1294 |
=end original |
=end original |
1295 |
|
|
1296 |
|
1.12 から 1.14 に更新されました。 |
1297 |
|
|
1298 |
=item C<File::Path> |
=item C<File::Path> |
1299 |
|
|
1303 |
|
|
1304 |
=end original |
=end original |
1305 |
|
|
1306 |
|
2.04 から 2.07_03 に更新されました。 |
1307 |
|
|
1308 |
=item C<File::Spec> |
=item C<File::Spec> |
1309 |
|
|
1313 |
|
|
1314 |
=end original |
=end original |
1315 |
|
|
1316 |
|
3.2501 から 3.30 に更新されました。 |
1317 |
|
|
1318 |
=item C<File::stat> |
=item C<File::stat> |
1319 |
|
|
1323 |
|
|
1324 |
=end original |
=end original |
1325 |
|
|
1326 |
|
1.00 から 1.01 に更新されました。 |
1327 |
|
|
1328 |
=item C<File::Temp> |
=item C<File::Temp> |
1329 |
|
|
1333 |
|
|
1334 |
=end original |
=end original |
1335 |
|
|
1336 |
|
0.18 から 0.22 に更新されました。 |
1337 |
|
|
1338 |
=item C<FileCache> |
=item C<FileCache> |
1339 |
|
|
1343 |
|
|
1344 |
=end original |
=end original |
1345 |
|
|
1346 |
|
1.07 から 1.08 に更新されました。 |
1347 |
|
|
1348 |
=item C<FileHandle> |
=item C<FileHandle> |
1349 |
|
|
1353 |
|
|
1354 |
=end original |
=end original |
1355 |
|
|
1356 |
|
2.01 から 2.02 に更新されました。 |
1357 |
|
|
1358 |
=item C<Filter::Simple> |
=item C<Filter::Simple> |
1359 |
|
|
1363 |
|
|
1364 |
=end original |
=end original |
1365 |
|
|
1366 |
|
0.82 から 0.84 に更新されました。 |
1367 |
|
|
1368 |
=item C<Filter::Util::Call> |
=item C<Filter::Util::Call> |
1369 |
|
|
1373 |
|
|
1374 |
=end original |
=end original |
1375 |
|
|
1376 |
|
1.07 から 1.08 に更新されました。 |
1377 |
|
|
1378 |
=item C<FindBin> |
=item C<FindBin> |
1379 |
|
|
1383 |
|
|
1384 |
=end original |
=end original |
1385 |
|
|
1386 |
|
1.49 から 1.50 に更新されました。 |
1387 |
|
|
1388 |
=item C<GDBM_File> |
=item C<GDBM_File> |
1389 |
|
|
1393 |
|
|
1394 |
=end original |
=end original |
1395 |
|
|
1396 |
|
1.08 から 1.09 に更新されました。 |
1397 |
|
|
1398 |
=item C<Getopt::Long> |
=item C<Getopt::Long> |
1399 |
|
|
1403 |
|
|
1404 |
=end original |
=end original |
1405 |
|
|
1406 |
|
2.37 から 2.38 に更新されました。 |
1407 |
|
|
1408 |
=item C<Hash::Util::FieldHash> |
=item C<Hash::Util::FieldHash> |
1409 |
|
|
1413 |
|
|
1414 |
=end original |
=end original |
1415 |
|
|
1416 |
|
1.03 から 1.04 に更新されました。 |
1417 |
|
これはメモリリークを修正しています。 |
1418 |
|
|
1419 |
=item C<I18N::Collate> |
=item C<I18N::Collate> |
1420 |
|
|
1424 |
|
|
1425 |
=end original |
=end original |
1426 |
|
|
1427 |
|
1.00 から 1.01 に更新されました。 |
1428 |
|
|
1429 |
=item C<IO> |
=item C<IO> |
1430 |
|
|
1434 |
|
|
1435 |
=end original |
=end original |
1436 |
|
|
1437 |
|
1.23_01 から 1.25 に更新されました。 |
1438 |
|
|
1439 |
=begin original |
=begin original |
1440 |
|
|
1443 |
|
|
1444 |
=end original |
=end original |
1445 |
|
|
1446 |
|
これにより、Windows で C<IO::Socket::INET> の非ブロッキングモードが |
1447 |
|
動作するようになります [CPAN #43573] 。 |
1448 |
|
|
1449 |
=item C<IO::Compress::*> |
=item C<IO::Compress::*> |
1450 |
|
|
1454 |
|
|
1455 |
=end original |
=end original |
1456 |
|
|
1457 |
|
2.008 から 2.020 に更新されました。 |
1458 |
|
|
1459 |
=item C<IO::Dir> |
=item C<IO::Dir> |
1460 |
|
|
1464 |
|
|
1465 |
=end original |
=end original |
1466 |
|
|
1467 |
|
1.06 から 1.07 に更新されました。 |
1468 |
|
|
1469 |
=item C<IO::Handle> |
=item C<IO::Handle> |
1470 |
|
|
1474 |
|
|
1475 |
=end original |
=end original |
1476 |
|
|
1477 |
|
1.27 から 1.28 に更新されました。 |
1478 |
|
|
1479 |
=item C<IO::Socket> |
=item C<IO::Socket> |
1480 |
|
|
1484 |
|
|
1485 |
=end original |
=end original |
1486 |
|
|
1487 |
|
1.30_01 から 1.31 に更新されました。 |
1488 |
|
|
1489 |
=item C<IO::Zlib> |
=item C<IO::Zlib> |
1490 |
|
|
1494 |
|
|
1495 |
=end original |
=end original |
1496 |
|
|
1497 |
|
1.07 から 1.09 に更新されました。 |
1498 |
|
|
1499 |
=item C<IPC::Cmd> |
=item C<IPC::Cmd> |
1500 |
|
|
1504 |
|
|
1505 |
=end original |
=end original |
1506 |
|
|
1507 |
|
0.40_1 から 0.46 に更新されました。 |
1508 |
|
|
1509 |
=item C<IPC::Open3> |
=item C<IPC::Open3> |
1510 |
|
|
1514 |
|
|
1515 |
=end original |
=end original |
1516 |
|
|
1517 |
|
1.02 から 1.04 に更新されました。 |
1518 |
|
|
1519 |
=item C<IPC::SysV> |
=item C<IPC::SysV> |
1520 |
|
|
1524 |
|
|
1525 |
=end original |
=end original |
1526 |
|
|
1527 |
|
1.05 から 2.01 に更新されました。 |
1528 |
|
|
1529 |
=item C<lib> |
=item C<lib> |
1530 |
|
|
1534 |
|
|
1535 |
=end original |
=end original |
1536 |
|
|
1537 |
|
0.5565 から 0.62 に更新されました。 |
1538 |
|
|
1539 |
=item C<List::Util> |
=item C<List::Util> |
1540 |
|
|
1544 |
|
|
1545 |
=end original |
=end original |
1546 |
|
|
1547 |
|
1.19 から 1.21 に更新されました。 |
1548 |
|
|
1549 |
=item C<Locale::MakeText> |
=item C<Locale::MakeText> |
1550 |
|
|
1554 |
|
|
1555 |
=end original |
=end original |
1556 |
|
|
1557 |
|
1.12 から 1.13 に更新されました。 |
1558 |
|
|
1559 |
=item C<Log::Message> |
=item C<Log::Message> |
1560 |
|
|
1564 |
|
|
1565 |
=end original |
=end original |
1566 |
|
|
1567 |
|
0.01 から 0.02 に更新されました。 |
1568 |
|
|
1569 |
=item C<Math::BigFloat> |
=item C<Math::BigFloat> |
1570 |
|
|
1574 |
|
|
1575 |
=end original |
=end original |
1576 |
|
|
1577 |
|
1.59 から 1.60 に更新されました。 |
1578 |
|
|
1579 |
=item C<Math::BigInt> |
=item C<Math::BigInt> |
1580 |
|
|
1584 |
|
|
1585 |
=end original |
=end original |
1586 |
|
|
1587 |
|
1.88 から 1.89 に更新されました。 |
1588 |
|
|
1589 |
=item C<Math::BigInt::FastCalc> |
=item C<Math::BigInt::FastCalc> |
1590 |
|
|
1594 |
|
|
1595 |
=end original |
=end original |
1596 |
|
|
1597 |
|
0.16 から 0.19 に更新されました。 |
1598 |
|
|
1599 |
=item C<Math::BigRat> |
=item C<Math::BigRat> |
1600 |
|
|
1604 |
|
|
1605 |
=end original |
=end original |
1606 |
|
|
1607 |
|
0.21 から 0.22 に更新されました。 |
1608 |
|
|
1609 |
=item C<Math::Complex> |
=item C<Math::Complex> |
1610 |
|
|
1614 |
|
|
1615 |
=end original |
=end original |
1616 |
|
|
1617 |
|
1.37 から 1.56 に更新されました。 |
1618 |
|
|
1619 |
=item C<Math::Trig> |
=item C<Math::Trig> |
1620 |
|
|
1624 |
|
|
1625 |
=end original |
=end original |
1626 |
|
|
1627 |
|
1.04 から 1.20 に更新されました。 |
1628 |
|
|
1629 |
=item C<Memoize> |
=item C<Memoize> |
1630 |
|
|
1635 |
|
|
1636 |
=end original |
=end original |
1637 |
|
|
1638 |
|
1.01_02 から 1.01_03 に更新されました |
1639 |
|
(単なる軽微な文書の修正です)。 |
1640 |
|
|
1641 |
=item C<Module::Build> |
=item C<Module::Build> |
1642 |
|
|
1646 |
|
|
1647 |
=end original |
=end original |
1648 |
|
|
1649 |
|
0.2808_01 から 0.34_02 に更新されました。 |
1650 |
|
|
1651 |
=item C<Module::CoreList> |
=item C<Module::CoreList> |
1652 |
|
|
1657 |
|
|
1658 |
=end original |
=end original |
1659 |
|
|
1660 |
|
2.13 から 2.18 に更新されました。 |
1661 |
|
このリリースにはもはや C<%Module::CoreList::patchlevel> ハッシュは |
1662 |
|
含まれていません。 |
1663 |
|
|
1664 |
=item C<Module::Load> |
=item C<Module::Load> |
1665 |
|
|
1669 |
|
|
1670 |
=end original |
=end original |
1671 |
|
|
1672 |
|
0.12 から 0.16 に更新されました。 |
1673 |
|
|
1674 |
=item C<Module::Load::Conditional> |
=item C<Module::Load::Conditional> |
1675 |
|
|
1679 |
|
|
1680 |
=end original |
=end original |
1681 |
|
|
1682 |
|
0.22 から 0.30 に更新されました。 |
1683 |
|
|
1684 |
=item C<Module::Loaded> |
=item C<Module::Loaded> |
1685 |
|
|
1689 |
|
|
1690 |
=end original |
=end original |
1691 |
|
|
1692 |
|
0.01 から 0.02 に更新されました。 |
1693 |
|
|
1694 |
=item C<Module::Pluggable> |
=item C<Module::Pluggable> |
1695 |
|
|
1699 |
|
|
1700 |
=end original |
=end original |
1701 |
|
|
1702 |
|
3.6 から 3.9 に更新されました。 |
1703 |
|
|
1704 |
=item C<NDBM_File> |
=item C<NDBM_File> |
1705 |
|
|
1709 |
|
|
1710 |
=end original |
=end original |
1711 |
|
|
1712 |
|
1.07 から 1.08 に更新されました。 |
1713 |
|
|
1714 |
=item C<Net::Ping> |
=item C<Net::Ping> |
1715 |
|
|
1719 |
|
|
1720 |
=end original |
=end original |
1721 |
|
|
1722 |
|
2.33 から 2.36 に更新されました。 |
1723 |
|
|
1724 |
=item C<NEXT> |
=item C<NEXT> |
1725 |
|
|
1729 |
|
|
1730 |
=end original |
=end original |
1731 |
|
|
1732 |
|
0.60_01 から 0.64 に更新されました。 |
1733 |
|
|
1734 |
=item C<Object::Accessor> |
=item C<Object::Accessor> |
1735 |
|
|
1739 |
|
|
1740 |
=end original |
=end original |
1741 |
|
|
1742 |
|
0.32 から 0.34 に更新されました。 |
1743 |
|
|
1744 |
=item C<OS2::REXX> |
=item C<OS2::REXX> |
1745 |
|
|
1749 |
|
|
1750 |
=end original |
=end original |
1751 |
|
|
1752 |
|
1.03 から 1.04 に更新されました。 |
1753 |
|
|
1754 |
=item C<Package::Constants> |
=item C<Package::Constants> |
1755 |
|
|
1759 |
|
|
1760 |
=end original |
=end original |
1761 |
|
|
1762 |
|
0.01 から 0.02 に更新されました。 |
1763 |
|
|
1764 |
=item C<PerlIO> |
=item C<PerlIO> |
1765 |
|
|
1769 |
|
|
1770 |
=end original |
=end original |
1771 |
|
|
1772 |
|
1.04 から 1.06 に更新されました。 |
1773 |
|
|
1774 |
=item C<PerlIO::via> |
=item C<PerlIO::via> |
1775 |
|
|
1779 |
|
|
1780 |
=end original |
=end original |
1781 |
|
|
1782 |
|
0.04 から 0.07 に更新されました。 |
1783 |
|
|
1784 |
=item C<Pod::Man> |
=item C<Pod::Man> |
1785 |
|
|
1789 |
|
|
1790 |
=end original |
=end original |
1791 |
|
|
1792 |
|
2.16 から 2.22 に更新されました。 |
1793 |
|
|
1794 |
=item C<Pod::Parser> |
=item C<Pod::Parser> |
1795 |
|
|
1799 |
|
|
1800 |
=end original |
=end original |
1801 |
|
|
1802 |
|
1.35 から 1.37 に更新されました。 |
1803 |
|
|
1804 |
=item C<Pod::Simple> |
=item C<Pod::Simple> |
1805 |
|
|
1809 |
|
|
1810 |
=end original |
=end original |
1811 |
|
|
1812 |
|
3.05 から 3.07 に更新されました。 |
1813 |
|
|
1814 |
=item C<Pod::Text> |
=item C<Pod::Text> |
1815 |
|
|
1819 |
|
|
1820 |
=end original |
=end original |
1821 |
|
|
1822 |
|
3.08 から 3.13 に更新されました。 |
1823 |
|
|
1824 |
=item C<POSIX> |
=item C<POSIX> |
1825 |
|
|
1829 |
|
|
1830 |
=end original |
=end original |
1831 |
|
|
1832 |
|
1.13 から 1.17 に更新されました。 |
1833 |
|
|
1834 |
=item C<Safe> |
=item C<Safe> |
1835 |
|
|
1839 |
|
|
1840 |
=end original |
=end original |
1841 |
|
|
1842 |
|
2.12 から 2.18 に更新されました。 |
1843 |
|
|
1844 |
=item C<Scalar::Util> |
=item C<Scalar::Util> |
1845 |
|
|
1849 |
|
|
1850 |
=end original |
=end original |
1851 |
|
|
1852 |
|
1.19 から 1.21 に更新されました。 |
1853 |
|
|
1854 |
=item C<SelectSaver> |
=item C<SelectSaver> |
1855 |
|
|
1859 |
|
|
1860 |
=end original |
=end original |
1861 |
|
|
1862 |
|
1.01 から 1.02 に更新されました。 |
1863 |
|
|
1864 |
=item C<SelfLoader> |
=item C<SelfLoader> |
1865 |
|
|
1869 |
|
|
1870 |
=end original |
=end original |
1871 |
|
|
1872 |
|
1.11 から 1.17 に更新されました。 |
1873 |
|
|
1874 |
=item C<Socket> |
=item C<Socket> |
1875 |
|
|
1879 |
|
|
1880 |
=end original |
=end original |
1881 |
|
|
1882 |
|
1.80 から 1.82 に更新されました。 |
1883 |
|
|
1884 |
=item C<Storable> |
=item C<Storable> |
1885 |
|
|
1889 |
|
|
1890 |
=end original |
=end original |
1891 |
|
|
1892 |
|
2.18 から 2.20 に更新されました。 |
1893 |
|
|
1894 |
=item C<Switch> |
=item C<Switch> |
1895 |
|
|
1899 |
|
|
1900 |
=end original |
=end original |
1901 |
|
|
1902 |
|
2.13 から 2.14 に更新されました。 |
1903 |
|
L</Deprecations> を参照してください。 |
1904 |
|
|
1905 |
=item C<Symbol> |
=item C<Symbol> |
1906 |
|
|
1910 |
|
|
1911 |
=end original |
=end original |
1912 |
|
|
1913 |
|
1.06 から 1.07 に更新されました。 |
1914 |
|
|
1915 |
=item C<Sys::Syslog> |
=item C<Sys::Syslog> |
1916 |
|
|
1920 |
|
|
1921 |
=end original |
=end original |
1922 |
|
|
1923 |
|
0.22 から 0.27 に更新されました。 |
1924 |
|
|
1925 |
=item C<Term::ANSIColor> |
=item C<Term::ANSIColor> |
1926 |
|
|
1930 |
|
|
1931 |
=end original |
=end original |
1932 |
|
|
1933 |
|
1.12 から 2.00 に更新されました。 |
1934 |
|
|
1935 |
=item C<Term::ReadLine> |
=item C<Term::ReadLine> |
1936 |
|
|
1940 |
|
|
1941 |
=end original |
=end original |
1942 |
|
|
1943 |
|
1.03 から 1.04 に更新されました。 |
1944 |
|
|
1945 |
=item C<Term::UI> |
=item C<Term::UI> |
1946 |
|
|
1950 |
|
|
1951 |
=end original |
=end original |
1952 |
|
|
1953 |
|
0.18 から 0.20 に更新されました。 |
1954 |
|
|
1955 |
=item C<Test::Harness> |
=item C<Test::Harness> |
1956 |
|
|
1960 |
|
|
1961 |
=end original |
=end original |
1962 |
|
|
1963 |
|
2.64 から 3.17 に更新されました。 |
1964 |
|
|
1965 |
=begin original |
=begin original |
1966 |
|
|
1972 |
|
|
1973 |
=end original |
=end original |
1974 |
|
|
1975 |
|
Note that |
1976 |
|
2.x から 3.x へのアップグレードに対する副作用の一つとして、 |
1977 |
|
実験的な C<Test::Harness::Straps> モジュール (およびそのサポートである |
1978 |
|
C<Assert>, C<Iterator>, C<Point>, C<Results> モジュール) は |
1979 |
|
取り除かれました。 |
1980 |
|
もしまだこれらが必要なら、CPAN にある(メンテナンスされていない) |
1981 |
|
C<Test-Harness-Straps> が利用可能です。 |
1982 |
|
|
1983 |
=item C<Test::Simple> |
=item C<Test::Simple> |
1984 |
|
|
1988 |
|
|
1989 |
=end original |
=end original |
1990 |
|
|
1991 |
|
0.72 から 0.92 に更新されました。 |
1992 |
|
|
1993 |
=item C<Text::ParseWords> |
=item C<Text::ParseWords> |
1994 |
|
|
1998 |
|
|
1999 |
=end original |
=end original |
2000 |
|
|
2001 |
|
3.26 から 3.27 に更新されました。 |
2002 |
|
|
2003 |
=item C<Text::Tabs> |
=item C<Text::Tabs> |
2004 |
|
|
2008 |
|
|
2009 |
=end original |
=end original |
2010 |
|
|
2011 |
|
2007.1117 から 2009.0305 に更新されました。 |
2012 |
|
|
2013 |
=item C<Text::Wrap> |
=item C<Text::Wrap> |
2014 |
|
|
2018 |
|
|
2019 |
=end original |
=end original |
2020 |
|
|
2021 |
|
2006.1117 から 2009.0305 に更新されました。 |
2022 |
|
|
2023 |
=item C<Thread::Queue> |
=item C<Thread::Queue> |
2024 |
|
|
2028 |
|
|
2029 |
=end original |
=end original |
2030 |
|
|
2031 |
|
2.00 から 2.11 に更新されました。 |
2032 |
|
|
2033 |
=item C<Thread::Semaphore> |
=item C<Thread::Semaphore> |
2034 |
|
|
2038 |
|
|
2039 |
=end original |
=end original |
2040 |
|
|
2041 |
|
2.01 から 2.09 に更新されました。 |
2042 |
|
|
2043 |
=item C<threads> |
=item C<threads> |
2044 |
|
|
2048 |
|
|
2049 |
=end original |
=end original |
2050 |
|
|
2051 |
|
1.67 から 1.72 に更新されました。 |
2052 |
|
|
2053 |
=item C<threads::shared> |
=item C<threads::shared> |
2054 |
|
|
2058 |
|
|
2059 |
=end original |
=end original |
2060 |
|
|
2061 |
|
1.14 から 1.29 に更新されました。 |
2062 |
|
|
2063 |
=item C<Tie::RefHash> |
=item C<Tie::RefHash> |
2064 |
|
|
2068 |
|
|
2069 |
=end original |
=end original |
2070 |
|
|
2071 |
|
1.37 から 1.38 に更新されました。 |
2072 |
|
|
2073 |
=item C<Tie::StdHandle> |
=item C<Tie::StdHandle> |
2074 |
|
|
2079 |
|
|
2080 |
=end original |
=end original |
2081 |
|
|
2082 |
|
これは文書の変更と、初めてバージョン番号 4.2 が割り当てられました。 |
2083 |
|
|
2084 |
=item C<Time::HiRes> |
=item C<Time::HiRes> |
2085 |
|
|
2089 |
|
|
2090 |
=end original |
=end original |
2091 |
|
|
2092 |
|
1.9711 から 1.9719 に更新されました。 |
2093 |
|
|
2094 |
=item C<Time::Local> |
=item C<Time::Local> |
2095 |
|
|
2099 |
|
|
2100 |
=end original |
=end original |
2101 |
|
|
2102 |
|
1.18 から 1.1901 に更新されました。 |
2103 |
|
|
2104 |
=item C<Time::Piece> |
=item C<Time::Piece> |
2105 |
|
|
2109 |
|
|
2110 |
=end original |
=end original |
2111 |
|
|
2112 |
|
1.12 から 1.15 に更新されました。 |
2113 |
|
|
2114 |
=item C<Unicode::Normalize> |
=item C<Unicode::Normalize> |
2115 |
|
|
2119 |
|
|
2120 |
=end original |
=end original |
2121 |
|
|
2122 |
|
1.02 から 1.03 に更新されました。 |
2123 |
|
|
2124 |
=item C<Unicode::UCD> |
=item C<Unicode::UCD> |
2125 |
|
|
2129 |
|
|
2130 |
=end original |
=end original |
2131 |
|
|
2132 |
|
0.25 から 0.27 に更新されました。 |
2133 |
|
|
2134 |
=begin original |
=begin original |
2135 |
|
|
2138 |
|
|
2139 |
=end original |
=end original |
2140 |
|
|
2141 |
|
C<charinfo()> は、最近の Unicode で追加された統合 CJK 符号位置に対しても |
2142 |
|
動作するようになりました。 |
2143 |
|
|
2144 |
=begin original |
=begin original |
2145 |
|
|
2150 |
|
|
2151 |
=end original |
=end original |
2152 |
|
|
2153 |
|
古いフィールドは過去互換性のために残されます。 |
2154 |
|
テュルク諸語符号位置固有の情報も返すようになりました。 |
2155 |
|
|
2156 |
=begin original |
=begin original |
2157 |
|
|
2159 |
|
|
2160 |
=end original |
=end original |
2161 |
|
|
2162 |
|
文書が修正および拡張されました。 |
2163 |
|
|
2164 |
=item C<UNIVERSAL> |
=item C<UNIVERSAL> |
2165 |
|
|
2169 |
|
|
2170 |
=end original |
=end original |
2171 |
|
|
2172 |
|
1.04 から 1.05 に更新されました。 |
2173 |
|
|
2174 |
=item C<Win32> |
=item C<Win32> |
2175 |
|
|
2179 |
|
|
2180 |
=end original |
=end original |
2181 |
|
|
2182 |
|
0.34 から 0.39 に更新されました。 |
2183 |
|
|
2184 |
=item C<Win32API::File> |
=item C<Win32API::File> |
2185 |
|
|
2189 |
|
|
2190 |
=end original |
=end original |
2191 |
|
|
2192 |
|
0.1001_01 から 0.1101 に更新されました。 |
2193 |
|
|
2194 |
=item C<XSLoader> |
=item C<XSLoader> |
2195 |
|
|
2199 |
|
|
2200 |
=end original |
=end original |
2201 |
|
|
2202 |
|
0.08 から 0.10 に更新されました。 |
2203 |
|
|
2204 |
=back |
=back |
2205 |
|
|
2218 |
|
|
2219 |
=end original |
=end original |
2220 |
|
|
2221 |
|
最近 gcc の検索パスとして追加された、C<include-fixed> を見るように |
2222 |
|
なりました。 |
2223 |
|
|
2224 |
=item F<h2xs> |
=item F<h2xs> |
2225 |
|
|
2229 |
|
|
2230 |
=end original |
=end original |
2231 |
|
|
2232 |
|
マクロのような enum 値を間違って扱わなくなりました (Daniel Burr)。 |
2233 |
|
|
2234 |
=begin original |
=begin original |
2235 |
|
|
2238 |
|
|
2239 |
=end original |
=end original |
2240 |
|
|
2241 |
|
enum での C++ 形式の定数 (C<//>) を扱うようになりました。 |
2242 |
|
(Rainer Weikusat からのパッチを使いました; Daniel Burr からも似たような |
2243 |
|
修正を提案されました)。 |
2244 |
|
|
2245 |
=item F<perl5db.pl> |
=item F<perl5db.pl> |
2246 |
|
|
2250 |
|
|
2251 |
=end original |
=end original |
2252 |
|
|
2253 |
|
C<LVALUE> サブルーチンはデバッガからでも動作するようになりました。 |
2254 |
|
|
2255 |
=begin original |
=begin original |
2256 |
|
|
2259 |
|
|
2260 |
=end original |
=end original |
2261 |
|
|
2262 |
|
デバッガは代理定数サブルーチンとサブルーチンスタブを正しく扱えるように |
2263 |
|
なりました。 |
2264 |
|
|
2265 |
=item F<perlthanks> |
=item F<perlthanks> |
2266 |
|
|
2273 |
|
|
2274 |
=end original |
=end original |
2275 |
|
|
2276 |
|
Perl 5.10.1 に新しいユーティリティである F<perlthanks> が追加されました; |
2277 |
|
これは F<perlbug> の変種ですが、Perl の作者とメンテナにバグレポートではない |
2278 |
|
ものを送ります。 |
2279 |
|
バグレポートでしかないものを受け取るのは少しがっかりさせるものに |
2280 |
|
なりつつあります: これによって変わるかどうかを見てみます。 |
2281 |
|
|
2282 |
=back |
=back |
2283 |
|
|
2295 |
|
|
2296 |
=end original |
=end original |
2297 |
|
|
2298 |
|
これには、Haiku プラットフォームで perl をビルドする方法についての |
2299 |
|
説明が含まれています。 |
2300 |
|
|
2301 |
=item L<perlmroapi> |
=item L<perlmroapi> |
2302 |
|
|
2306 |
|
|
2307 |
=end original |
=end original |
2308 |
|
|
2309 |
|
これは、プラグ可能なメソッド解決順序の新しいインターフェースを |
2310 |
|
記述しています。 |
2311 |
|
|
2312 |
=item L<perlperf> |
=item L<perlperf> |
2313 |
|
|
2319 |
|
|
2320 |
=end original |
=end original |
2321 |
|
|
2322 |
|
この文書は Richard Foley によるもので、perl プログラムの個々の参照で |
2323 |
|
使えるパフォーマンスと最適化の技術の使用に関する導入を提供します。 |
2324 |
|
|
2325 |
=item L<perlrepository> |
=item L<perlrepository> |
2326 |
|
|
2331 |
|
|
2332 |
=end original |
=end original |
2333 |
|
|
2334 |
|
これは、I<git> バージョン管理システムを使って perl のソースに |
2335 |
|
アクセスする方法について記述しています。 |
2336 |
|
|
2337 |
=item L<perlthanks> |
=item L<perlthanks> |
2338 |
|
|
2342 |
|
|
2343 |
=end original |
=end original |
2344 |
|
|
2345 |
|
これは新しい F<perlthanks> ユーティリティについて記述しています。 |
2346 |
|
|
2347 |
=back |
=back |
2348 |
|
|
2359 |
|
|
2360 |
=end original |
=end original |
2361 |
|
|
2362 |
|
(過去 18 年間にわたって perl に対して行われた全ての変更の一覧である) |
2363 |
|
様々な大きな C<Changes*> ファイルが取り除かれ、 |
2364 |
|
単に git バージョン制御システムから同じ情報を取り出す方法を説明した |
2365 |
|
小さいファイル C<Changes> に置き換えられました。 |
2366 |
|
|
2367 |
=begin original |
=begin original |
2368 |
|
|
2372 |
|
|
2373 |
=end original |
=end original |
2374 |
|
|
2375 |
|
F<Porting/patching.pod> ファイルは削除されました; これは主に古い |
2376 |
|
Perforce を基としたレポジトリとの相互作用について記述していて、 |
2377 |
|
これは古いものです。 |
2378 |
|
まだ関連のある情報は L<perlrepository> に移動しました。 |
2379 |
|
|
2380 |
=begin original |
=begin original |
2381 |
|
|
2384 |
|
|
2385 |
=end original |
=end original |
2386 |
|
|
2387 |
|
L<perlapi>, L<perlintern>, L<perlmodlib>, L<perltoc> はリリースの |
2388 |
|
一部としてではなく、全てビルド時に生成されるようになりました。 |
2389 |
|
|
2390 |
=head1 Performance Enhancements |
=head1 Performance Enhancements |
2391 |
|
|
2401 |
|
|
2402 |
=end original |
=end original |
2403 |
|
|
2404 |
|
新しい内部キャッシュにより、C<isa()> はしばしばより速くなります。 |
2405 |
|
|
2406 |
=item * |
=item * |
2407 |
|
|
2414 |
|
|
2415 |
=end original |
=end original |
2416 |
|
|
2417 |
|
C<use locale> の元では、ロケール関係の情報は、C<keys %hash> で |
2418 |
|
返されるリストのように、読み込み専用値としてキャッシュされるように |
2419 |
|
なりました。 |
2420 |
|
これによって、C<use locale> での C<sort keys %hash> のような操作が |
2421 |
|
とても速くなります。 |
2422 |
|
|
2423 |
=item * |
=item * |
2424 |
|
|
2428 |
|
|
2429 |
=end original |
=end original |
2430 |
|
|
2431 |
|
空の C<DESTROY> メソッドはもはや呼び出されなくなります。 |
2432 |
|
|
2433 |
=back |
=back |
2434 |
|
|
2456 |
|
|
2457 |
=end original |
=end original |
2458 |
|
|
2459 |
|
F<ext> ディレクトリのレイアウトが見直されました。 |
2460 |
|
特に、全てのエクステンションはフラットにトップレベルに置かれ、 |
2461 |
|
パス名中の C</> は C<-> に置き換えられます; 従って、 |
2462 |
|
F<ext/Data/Dumper/> は F<ext/Data-Dumper/> のようになります。 |
2463 |
|
エクステンションの名前のうち、F<Configure> で指定されるもの、 |
2464 |
|
C<dynamic_ext>, C<known_extensions>, C<nonxs_ext>, C<static_ext> で |
2465 |
|
C<%Config::Config> によって報告されるものは変更なしで、C</> を |
2466 |
|
使い続けます。 |
2467 |
|
従ってこの変更は一旦 perl がインストールされれば何の影響もありません。 |
2468 |
|
しかし、C<Attribute::Handlers>, C<Safe>, C<mro> が新たに独自の権限を持つ |
2469 |
|
エクステンションとなりましたので、もし F<Configure> をビルドする |
2470 |
|
エクステンションの正確なリストを指定するオプション付きで実行する場合、 |
2471 |
|
これらのために変更する必要があるでしょう。 |
2472 |
|
|
2473 |
=begin original |
=begin original |
2474 |
|
|
2479 |
|
|
2480 |
=end original |
=end original |
2481 |
|
|
2482 |
|
5.10.2 では、多くの 2 重管理されているモジュールが F<lib> から F<ext> に |
2483 |
|
移動することが計画されています; |
2484 |
|
やはりこれはインストールされた perl には何の変更もありませんが、 |
2485 |
|
もし予め設定されたビルドするエクステンションのリストを使って |
2486 |
|
F<Configure> を起動するときには影響があります。 |
2487 |
|
|
2488 |
=head2 Configuration improvements |
=head2 Configuration improvements |
2489 |
|
|
2496 |
|
|
2497 |
=end original |
=end original |
2498 |
|
|
2499 |
|
C<vendorlib> と C<vendorarch> が同じなら、C<@INC> には 1 回だけ |
2500 |
|
追加されます。 |
2501 |
|
|
2502 |
=begin original |
=begin original |
2503 |
|
|
2506 |
|
|
2507 |
=end original |
=end original |
2508 |
|
|
2509 |
|
もし perl が C<-Dusedevel> 付きでビルドされたなら、 |
2510 |
|
C<$Config{usedevel}> と C レベルの C<PERL_USE_DEVEL> が定義されるように |
2511 |
|
なりました。 |
2512 |
|
|
2513 |
=begin original |
=begin original |
2514 |
|
|
2517 |
|
|
2518 |
=end original |
=end original |
2519 |
|
|
2520 |
|
F<Configure> は、もしコンパイラが対応しているなら、 |
2521 |
|
スタック破壊攻撃に対する防御のために、C<-fstack-protector> の使用を |
2522 |
|
有効にします。 |
2523 |
|
|
2524 |
=begin original |
=begin original |
2525 |
|
|
2529 |
|
|
2530 |
=end original |
=end original |
2531 |
|
|
2532 |
|
F<Configure> は、もし C コンパイラでなく C++ コンパイラを使うなら、 |
2533 |
|
再入可能な関数と C<gconvert> のための正しいプロトタイプを |
2534 |
|
決定するようになりました。 |
2535 |
|
|
2536 |
=begin original |
=begin original |
2537 |
|
|
2543 |
|
|
2544 |
=end original |
=end original |
2545 |
|
|
2546 |
|
Unix では、もし git レポジトリを含むツリーからビルドするなら、 |
2547 |
|
設定プロセスは C<perl -v> と C<perl -V> の出力での表示のために、 |
2548 |
|
チェックアウトしたコミットハッシュを記録します。 |
2549 |
|
プッシュされないローカルのコミットは自動的に |
2550 |
|
C<perl -V> によって表示されるローカルパッチの一覧に追加されます。 |
2551 |
|
|
2552 |
=head2 Compilation improvements |
=head2 Compilation improvements |
2553 |
|
|
2562 |
|
|
2563 |
=end original |
=end original |
2564 |
|
|
2565 |
|
F<ext> のフラット化の一部として、全てのプラットフォームの全ての |
2566 |
|
エクステンションは F<make_ext.pl> でビルドされます。 |
2567 |
|
これは Unix 固有の F<ext/util/make_ext>、VMS 固有の F<make_ext.com>、 |
2568 |
|
Win32 固有の F<win32/buildext.pl> を置き換えます。 |
2569 |
|
|
2570 |
=head2 Platform Specific Changes |
=head2 Platform Specific Changes |
2571 |
|
|
2581 |
|
|
2582 |
=end original |
=end original |
2583 |
|
|
2584 |
|
AIX 5L と 6.1 のための F<libbsd> が取り除かれました。 |
2585 |
|
flock() だけが F<libbsd> を使っていました。 |
2586 |
|
|
2587 |
=begin original |
=begin original |
2588 |
|
|
2592 |
|
|
2593 |
=end original |
=end original |
2594 |
|
|
2595 |
|
AIX 5L and 6.1 のための F<libgdbm> が取り除かれました。 |
2596 |
|
F<libgdbm> は AIX Toolbox の追加パッケージとして配布されています。 |
2597 |
|
残念ながら 64 ビット版は壊れています。 |
2598 |
|
|
2599 |
=begin original |
=begin original |
2600 |
|
|
2602 |
|
|
2603 |
=end original |
=end original |
2604 |
|
|
2605 |
|
AIX 4.2 で再び動作するようにヒントが変更されました。 |
2606 |
|
|
2607 |
=item Cygwin |
=item Cygwin |
2608 |
|
|
2614 |
|
|
2615 |
=end original |
=end original |
2616 |
|
|
2617 |
|
Cygwin においては、DLL から最後の番号を取り除くことにしました。 |
2618 |
|
これは何年間も cygwin.com のビルドの振る舞いとなっています。 |
2619 |
|
ヒントファイルが更新されました。 |
2620 |
|
|
2621 |
=item FreeBSD |
=item FreeBSD |
2622 |
|
|
2627 |
|
|
2628 |
=end original |
=end original |
2629 |
|
|
2630 |
|
ヒントファイルは FreeBSD 7 以降での正しいスレッドライブラリを |
2631 |
|
識別するようになりました。 |
2632 |
|
|
2633 |
=item Irix |
=item Irix |
2634 |
|
|
2639 |
|
|
2640 |
=end original |
=end original |
2641 |
|
|
2642 |
|
Irix 6.5 コンパイラのプリプロセッサにある奇妙なバグを回避するように |
2643 |
|
なりました: |
2644 |
|
C<cc -E -> は残念ながら K&R モードになりますが、C<cc -E file.c> では |
2645 |
|
なりません。 |
2646 |
|
|
2647 |
=item Haiku |
=item Haiku |
2648 |
|
|
2653 |
|
|
2654 |
=end original |
=end original |
2655 |
|
|
2656 |
|
Haiku 管理者からのパッチがマージされました。 |
2657 |
|
Perl は Haiku でビルドできるようになったはずです。 |
2658 |
|
|
2659 |
=item MirOS BSD |
=item MirOS BSD |
2660 |
|
|
2664 |
|
|
2665 |
=end original |
=end original |
2666 |
|
|
2667 |
|
Perl は MirOS BSD でビルドできるようになったはずです。 |
2668 |
|
|
2669 |
=item NetBSD |
=item NetBSD |
2670 |
|
|
2674 |
|
|
2675 |
=end original |
=end original |
2676 |
|
|
2677 |
|
ヒントがバージョン 5.* に対応しました。 |
2678 |
|
|
2679 |
=item Stratus VOS |
=item Stratus VOS |
2680 |
|
|
2684 |
|
|
2685 |
=end original |
=end original |
2686 |
|
|
2687 |
|
Stratus からの様々な変更がマージされました。 |
2688 |
|
|
2689 |
=item Symbian |
=item Symbian |
2690 |
|
|
2694 |
|
|
2695 |
=end original |
=end original |
2696 |
|
|
2697 |
|
Symbian S60 3.2 SDK と S60 5.0 SDK に対応するようになりました。 |
2698 |
|
|
2699 |
=item Win32 |
=item Win32 |
2700 |
|
|
2705 |
|
|
2706 |
=end original |
=end original |
2707 |
|
|
2708 |
|
メッセージウィンドウの扱いが改良され、C<alarm> と C<kill> のメッセージが |
2709 |
|
競合状態でも欠落しなくなりました。 |
2710 |
|
|
2711 |
=item VMS |
=item VMS |
2712 |
|
|
2718 |
|
|
2719 |
=end original |
=end original |
2720 |
|
|
2721 |
|
C<PerlIO::scalar> のメモリ内一時ファイルからの読み込みは、 |
2722 |
|
C<$/> が(レコード風読み込みを示すために)数値リファレンスにセットされていると |
2723 |
|
失敗していました。 |
2724 |
|
これは修正されました。 |
2725 |
|
|
2726 |
=begin original |
=begin original |
2727 |
|
|
2729 |
|
|
2730 |
=end original |
=end original |
2731 |
|
|
2732 |
|
VMS が C<getgrgid> に対応するようになりました。 |
2733 |
|
|
2734 |
=begin original |
=begin original |
2735 |
|
|
2738 |
|
|
2739 |
=end original |
=end original |
2740 |
|
|
2741 |
|
VMS ファイル名の扱いと変換に関するコードに対して多くの改良と整理が |
2742 |
|
行われました。 |
2743 |
|
|
2744 |
=begin original |
=begin original |
2745 |
|
|
2750 |
|
|
2751 |
=end original |
=end original |
2752 |
|
|
2753 |
|
論理名 C<PERL_VMS_POSIX_EXIT> を有効にすることで、VMS 条件値を |
2754 |
|
POSIX 返りステータスに変換し、GNV の bash シェルやその他の POSIX 返り値に |
2755 |
|
依存しているユーティリティとの相互作用を高めます。 |
2756 |
|
詳細については L<perlvms/"$?"> を参照してください。 |
2757 |
|
|
2758 |
=back |
=back |
2759 |
|
|
2774 |
|
|
2775 |
=end original |
=end original |
2776 |
|
|
2777 |
|
5.10.0 では不注意によって最適化が無効化されていたため、 |
2778 |
|
例えば C<@_> から関数の引数への代入でよく使われるような、 |
2779 |
|
リスト代入において目に見えるほどの性能低下を引き起こしていました。 |
2780 |
|
この最適化は再導入され、性能面の退行が修正されました。 |
2781 |
|
|
2782 |
=item * |
=item * |
2783 |
|
|
2787 |
|
|
2788 |
=end original |
=end original |
2789 |
|
|
2790 |
|
C<while (1) { map 1, 1 }> でのメモリリークが修正されました [RT #53038]。 |
2791 |
|
|
2792 |
=item * |
=item * |
2793 |
|
|
2797 |
|
|
2798 |
=end original |
=end original |
2799 |
|
|
2800 |
|
PerlIO でのコアダンプの可能性が修正されました [RT #57322,54828]。 |
2801 |
|
|
2802 |
=item * |
=item * |
2803 |
|
|
2807 |
|
|
2808 |
=end original |
=end original |
2809 |
|
|
2810 |
|
デバッガは左辺値サブルーチンでも動作するようになりました。 |
2811 |
|
|
2812 |
=item * |
=item * |
2813 |
|
|
2818 |
|
|
2819 |
=end original |
=end original |
2820 |
|
|
2821 |
|
定数が定義されたモジュールでは、デバッガの C<m> コマンドが壊れていました |
2822 |
|
[RT #61222]。 |
2823 |
|
|
2824 |
=item * |
=item * |
2825 |
|
|
2830 |
|
|
2831 |
=end original |
=end original |
2832 |
|
|
2833 |
|
C<crypt()> と文字列補完は汚染されていない引数から汚染された値を返すことが |
2834 |
|
ありました [RT #59998]. |
2835 |
|
|
2836 |
=item * |
=item * |
2837 |
|
|
2843 |
|
|
2844 |
=end original |
=end original |
2845 |
|
|
2846 |
|
C<-i.suffix> コマンドラインオプションは、元のファイルに一致するように |
2847 |
|
モードを変更する前に、制限されたパーミッションを使ってファイルを |
2848 |
|
再作成します。 |
2849 |
|
これは競合条件の可能性を除去します [RT #60904]。 |
2850 |
|
|
2851 |
=item * |
=item * |
2852 |
|
|
2857 |
|
|
2858 |
=end original |
=end original |
2859 |
|
|
2860 |
|
UNIX システムによっては、C<$?> の値が、子がコアダンプしたときでも |
2861 |
|
最上位ビット (C<$? & 128>) がされないことがありました。 |
2862 |
|
|
2863 |
=item * |
=item * |
2864 |
|
|
2869 |
|
|
2870 |
=end original |
=end original |
2871 |
|
|
2872 |
|
状況によっては、$^R が間違って未定義になりました [RT #57042]。 |
2873 |
|
|
2874 |
=item * |
=item * |
2875 |
|
|
2880 |
|
|
2881 |
=end original |
=end original |
2882 |
|
|
2883 |
|
(XS) 様々なハッシュ関数において、キーが UTF-8 の時に予め計算された |
2884 |
|
ハッシュを渡すと、読み出しを間違うことがありました。 |
2885 |
|
|
2886 |
=item * |
=item * |
2887 |
|
|
2892 |
|
|
2893 |
=end original |
=end original |
2894 |
|
|
2895 |
|
(XS) F<perl.h> の前に F<XSUB.h> をインクルードするとコンパイル時エラーが |
2896 |
|
発生していました [RT #57176]。 |
2897 |
|
|
2898 |
=item * |
=item * |
2899 |
|
|
2904 |
|
|
2905 |
=end original |
=end original |
2906 |
|
|
2907 |
|
C<< $object->isa('Foo') >> は、たとえ オブジェクトの C<@ISA> に C<Foo> を |
2908 |
|
含んでいても、パッケージに C<Foo> が存在していなければ偽を |
2909 |
|
返すようになりました。 |
2910 |
|
|
2911 |
=item * |
=item * |
2912 |
|
|
2917 |
|
|
2918 |
=end original |
=end original |
2919 |
|
|
2920 |
|
5.10.0 で新規導入された mro コードで、C<@ISA> を操作することによって |
2921 |
|
引き起こされる様々なバグが発見され、修正されました。 |
2922 |
|
|
2923 |
=item * |
=item * |
2924 |
|
|
2929 |
|
|
2930 |
=end original |
=end original |
2931 |
|
|
2932 |
|
C<$x=\$y; $x |= "foo"> のような、リファレンスに対するビット単位演算子が |
2933 |
|
インタプリタをクラッシュさせることがありました [RT #54956]。 |
2934 |
|
|
2935 |
|
|
2936 |
=item * |
=item * |
2937 |
|
|
2942 |
|
|
2943 |
=end original |
=end original |
2944 |
|
|
2945 |
|
代替を含むパターンが内部 UTF-8 表現に敏感になっていました; |
2946 |
|
|
2947 |
my $byte = chr(192); |
my $byte = chr(192); |
2948 |
my $utf8 = chr(192); utf8::upgrade($utf8); |
my $utf8 = chr(192); utf8::upgrade($utf8); |
2959 |
|
|
2960 |
=end original |
=end original |
2961 |
|
|
2962 |
|
UTF8-エンコードされた (つまり C<use utf8> が有効な) Perl ソースファイル内で、 |
2963 |
|
ダブルクォートされたリテラル文字列が、 |
2964 |
|
could be corrupted where a C<\xNN>, C<\0NNN>, C<\N{}> の後に |
2965 |
|
その値が 255 を超えるリテラル文字が続いている場合に、壊れることがありました |
2966 |
|
[RT #59908]。 |
2967 |
|
|
2968 |
=item * |
=item * |
2969 |
|
|
2975 |
|
|
2976 |
=end original |
=end original |
2977 |
|
|
2978 |
|
C<B::Deparse> は様々な構造を逆パースするのに失敗していました: |
2979 |
|
C<readpipe STRING> [RT #62428], C<CORE::require(STRING)> [RT #62488], |
2980 |
|
C<sub foo(_)> [RT #62484]. |
2981 |
|
|
2982 |
=item * |
=item * |
2983 |
|
|
2987 |
|
|
2988 |
=end original |
=end original |
2989 |
|
|
2990 |
|
C<setpgrp()> を引数なしで使うと、perl のスタックが壊れることがありました。 |
2991 |
|
|
2992 |
=item * |
=item * |
2993 |
|
|
2998 |
|
|
2999 |
=end original |
=end original |
3000 |
|
|
3001 |
|
ブロック形式の C<eval> は特別に C<Safe> と C<ops> でトラップ可能に |
3002 |
|
なりました。 |
3003 |
|
以前は間違って文字列の C<eval> のように扱われていました。 |
3004 |
|
|
3005 |
=item * |
=item * |
3006 |
|
|
3011 |
|
|
3012 |
=end original |
=end original |
3013 |
|
|
3014 |
|
5.10.0 では、2 つの文字 C<[~> が時々スマートマッチング演算子 |
3015 |
|
(C<~~>) としてパースされていました [RT #63854]。 |
3016 |
|
|
3017 |
=item * |
=item * |
3018 |
|
|
3023 |
|
|
3024 |
=end original |
=end original |
3025 |
|
|
3026 |
|
5.10.0 では、パターン中の C<*> 量指定子が時々 |
3027 |
|
C<{0,32767}> として扱われていました[RT #60034, #60464]。 |
3028 |
|
例えば、以下はマッチングに失敗していました: |
3029 |
|
|
3030 |
("ab" x 32768) =~ /^(ab)*$/ |
("ab" x 32768) =~ /^(ab)*$/ |
3031 |
|
|
3037 |
|
|
3038 |
=end original |
=end original |
3039 |
|
|
3040 |
|
C<shmget> は 64 ビット OS で 32 ビットセグメントサイズに制限されていました |
3041 |
|
[RT #63924]。 |
3042 |
|
|
3043 |
=item * |
=item * |
3044 |
|
|
3049 |
|
|
3050 |
=end original |
=end original |
3051 |
|
|
3052 |
|
C<given> ブロックから出るために C<next> や C<last> を使ったときに、 |
3053 |
|
以下のような誤った警告が出力されなくなりました: |
3054 |
|
|
3055 |
Exiting given via last at foo.pl line 123 |
Exiting given via last at foo.pl line 123 |
3056 |
|
|
3063 |
|
|
3064 |
=end original |
=end original |
3065 |
|
|
3066 |
|
Windows では、C<do> と C<require> において、C<'.\foo'> と C<'..\foo'> が |
3067 |
|
C<'./foo'> と C<'../foo'> とは異なって扱われていました [RT #63492]。 |
3068 |
|
|
3069 |
=item * |
=item * |
3070 |
|
|
3074 |
|
|
3075 |
=end original |
=end original |
3076 |
|
|
3077 |
|
以下のように、フォーマットからグロブへの代入を行うと、 |
3078 |
|
フォーマットが壊れることがありました: |
3079 |
|
|
3080 |
*bar=*foo{FORMAT}; # foo format now bad |
*bar=*foo{FORMAT}; # foo format now bad |
3081 |
|
|
3089 |
|
|
3090 |
=end original |
=end original |
3091 |
|
|
3092 |
|
型グロブを文字列や数値に変換しようとすると、アサーション失敗が |
3093 |
|
発生することがありました。 |
3094 |
|
正しいエラーメッセージである C<Can't coerce GLOB to I<$type>> が |
3095 |
|
生成されるようになりました。 |
3096 |
|
|
3097 |
=item * |
=item * |
3098 |
|
|
3103 |
|
|
3104 |
=end original |
=end original |
3105 |
|
|
3106 |
|
C<use filetest 'access'> 中に、C<-x> は間違ったアクセスモードを |
3107 |
|
使っていました。 |
3108 |
|
これは修正されました [RT #49003]。 |
3109 |
|
|
3110 |
=item * |
=item * |
3111 |
|
|
3116 |
|
|
3117 |
=end original |
=end original |
3118 |
|
|
3119 |
|
Unicode 値を返す tie されたスカラに対する C<length> が、初回は |
3120 |
|
正しく動作していませんでした。 |
3121 |
|
これは修正されました。 |
3122 |
|
|
3123 |
=item * |
=item * |
3124 |
|
|
3129 |
|
|
3130 |
=end original |
=end original |
3131 |
|
|
3132 |
|
配列 C<tie> の中で配列 C<tie> を使うと SEGV になることがありました。 |
3133 |
|
これは修正されました。 |
3134 |
|
[RT #51636] |
3135 |
|
|
3136 |
=item * |
=item * |
3137 |
|
|
3142 |
|
|
3143 |
=end original |
=end original |
3144 |
|
|
3145 |
|
C<PerlIOStdio_close()> 内での競合条件が識別され、修正されました。 |
3146 |
|
これは SEGV を含む、様々なスレッドの問題を引き起こしていました。 |
3147 |
|
|
3148 |
=item * |
=item * |
3149 |
|
|
3155 |
|
|
3156 |
=end original |
=end original |
3157 |
|
|
3158 |
|
C<unpack> で、スカラコンテキストで C<()> グループを使うと、内部的に |
3159 |
|
インタプリタのスタックにリストが置かれ、SEGV を含む様々な現象が |
3160 |
|
起きていました。 |
3161 |
|
これは修正されました [RT #50256]。 |
3162 |
|
|
3163 |
=item * |
=item * |
3164 |
|
|
3169 |
|
|
3170 |
=end original |
=end original |
3171 |
|
|
3172 |
|
C<substr>, C<\&$x>, C<tie $x, $m>, C<chop> で、マジックが 2 回 |
3173 |
|
呼び出されていました。 |
3174 |
|
これらは全て修正されました。 |
3175 |
|
|
3176 |
=item * |
=item * |
3177 |
|
|
3184 |
|
|
3185 |
=end original |
=end original |
3186 |
|
|
3187 |
|
5.10.0 での、C<s///ge> の暗黙のループ中の一時的なスタックをクリアするという |
3188 |
|
最適化は差し戻されました; これがインタプリタの無関係な部分での |
3189 |
|
不明瞭なバグの原因となっていたからです [commit ef0d4e17921ee3de]。 |
3190 |
|
|
3191 |
=item * |
=item * |
3192 |
|
|
3196 |
|
|
3197 |
=end original |
=end original |
3198 |
|
|
3199 |
|
C<elsif> 内での警告の行番号が正しくなりました。 |
3200 |
|
|
3201 |
=item * |
=item * |
3202 |
|
|
3207 |
|
|
3208 |
=end original |
=end original |
3209 |
|
|
3210 |
|
C<..> 演算子は、どちらかの端が整数の最小値や最大値に近い値でも |
3211 |
|
正しく動作するようになりました。 |
3212 |
|
|
3213 |
=item * |
=item * |
3214 |
|
|
3219 |
|
|
3220 |
=end original |
=end original |
3221 |
|
|
3222 |
|
C<binmode STDIN, ':raw'> は、プラットフォームによってはセグメンテーション |
3223 |
|
フォルトを引き起こすことがありました。 |
3224 |
|
これは修正されました [RT #54828]。 |
3225 |
|
|
3226 |
=item * |
=item * |
3227 |
|
|
3232 |
|
|
3233 |
=end original |
=end original |
3234 |
|
|
3235 |
|
C<index $str, ...> が実際には C<index "$str\0", ...> として実行されるという |
3236 |
|
境界条件のエラーがありました。 |
3237 |
|
これは修正されました [RT #53746]。 |
3238 |
|
|
3239 |
=item * |
=item * |
3240 |
|
|
3245 |
|
|
3246 |
=end original |
=end original |
3247 |
|
|
3248 |
|
正規表現での名前付き捕捉に関連する様々なリークが修正されました |
3249 |
|
[RT #57024]。 |
3250 |
|
|
3251 |
=item * |
=item * |
3252 |
|
|
3257 |
|
|
3258 |
=end original |
=end original |
3259 |
|
|
3260 |
|
ハッシュへの弱いリファレンスがリークを起こすことがありました。 |
3261 |
|
これは C<DBI> に影響を与えていました [RT #56908]。 |
3262 |
|
|
3263 |
=item * |
=item * |
3264 |
|
|
3268 |
|
|
3269 |
=end original |
=end original |
3270 |
|
|
3271 |
|
正規表現で (?|) を使うとセグメンテンションフォールトを引き起こすことが |
3272 |
|
ありました [RT #59734]。 |
3273 |
|
|
3274 |
=item * |
=item * |
3275 |
|
|
3279 |
|
|
3280 |
=end original |
=end original |
3281 |
|
|
3282 |
|
クロージャ内で UTF-8 の C<tr//> を使うとセグメンテンションフォールトを |
3283 |
|
引き起こすことがありました [RT #61520]。 |
3284 |
|
|
3285 |
=item * |
=item * |
3286 |
|
|
3291 |
|
|
3292 |
=end original |
=end original |
3293 |
|
|
3294 |
|
C<sv_chop()> やその他で SV を昇格させると、SPARC アーキテクチャでは |
3295 |
|
アライメントされていない 64-ビットアクセスをする場合がありました |
3296 |
|
[RT #60574]。 |
3297 |
|
|
3298 |
=item * |
=item * |
3299 |
|
|
3305 |
|
|
3306 |
=end original |
=end original |
3307 |
|
|
3308 |
|
5.10.0 リリースでは、C<inc_version_list> は間違って C<5.8.*> の後に |
3309 |
|
C<5.10.*> をリストしていました; これは C<@INC> の検索順に影響を |
3310 |
|
与えていました [RT #67628]。 |
3311 |
|
|
3312 |
=item * |
=item * |
3313 |
|
|
3318 |
|
|
3319 |
=end original |
=end original |
3320 |
|
|
3321 |
|
5.10.0 では、C<pack "a*", $tainted_value> は汚染されていない値を |
3322 |
|
返していました [RT #52552]。 |
3323 |
|
|
3324 |
=item * |
=item * |
3325 |
|
|
3331 |
|
|
3332 |
=end original |
=end original |
3333 |
|
|
3334 |
|
5.10.0 では、C<printf> と C<sprintf> で UTF-8 文字列を表示するときに |
3335 |
|
致命的エラー C<panic: utf8_mg_pos_cache_update> が出ることがありました |
3336 |
|
[RT #62666]。 |
3337 |
|
|
3338 |
=item * |
=item * |
3339 |
|
|
3344 |
|
|
3345 |
=end original |
=end original |
3346 |
|
|
3347 |
|
5.10.0 リリースでは、動的に作成した C<AUTOLOAD> メソッドが失われることが |
3348 |
|
ありました (メソッドキャッシュの問題です) [RT #60220,60232]。 |
3349 |
|
|
3350 |
=item * |
=item * |
3351 |
|
|
3356 |
|
|
3357 |
=end original |
=end original |
3358 |
|
|
3359 |
|
5.10.0 リリースでは、C<use feature> と C<//ee> の組み合わせで |
3360 |
|
メモリリークを起こすことがありました [RT #63110]。 |
3361 |
|
|
3362 |
=item * |
=item * |
3363 |
|
|
3371 |
|
|
3372 |
=end original |
=end original |
3373 |
|
|
3374 |
|
shebang (C<#!>) 行 での C<-C> は、コマンドラインでも指定されている場合は |
3375 |
|
再び許可されるようになりました。 |
3376 |
|
shebang 行での C<-C> は、I<もし> コマンドラインで指定されていなかった |
3377 |
|
場合には暗黙に no-op となっていました; これは perl 5.10.0 では |
3378 |
|
不許可となりましたが、これによって動かなくなるスクリプトもありました。 |
3379 |
|
perl はコマンドラインでも指定されているかどうかを調べて、 |
3380 |
|
指定されていないときにだけ die するようになりました [RT #67880]。 |
3381 |
|
|
3382 |
=item * |
=item * |
3383 |
|
|
3388 |
|
|
3389 |
=end original |
=end original |
3390 |
|
|
3391 |
|
5.10.0 で、ある種の再入可能な正規表現によってクラッシュしたり、 |
3392 |
|
以下のアサーション失敗を出力したりすることがありました [RT #60508]: |
3393 |
|
|
3394 |
Assertion rx->sublen >= (s - rx->subbeg) + i failed |
Assertion rx->sublen >= (s - rx->subbeg) + i failed |
3395 |
|
|
|
|
|
3396 |
=back |
=back |
3397 |
|
|
3398 |
=head1 New or Changed Diagnostics |
=head1 New or Changed Diagnostics |
3412 |
|
|
3413 |
=end original |
=end original |
3414 |
|
|
3415 |
|
これは、C ルーチン C<Perl_sv_chop()> に、スカラの文字列バッファ内でない |
3416 |
|
位置が渡された時に発生する、新しい致命的エラーです。 |
3417 |
|
これはバグっぽい XS コードによって引き起こされ、この時点では |
3418 |
|
回復は不可能です。 |
3419 |
|
|
3420 |
=item C<Can't locate package %s for the parents of %s> |
=item C<Can't locate package %s for the parents of %s> |
3421 |
|
|
3427 |
|
|
3428 |
=end original |
=end original |
3429 |
|
|
3430 |
|
この警告は取り除かれました。 |
3431 |
|
一般的に、これは他の警告と同時にのみ生成され、これを取り除くことによって |
3432 |
|
ISA 読み出しの最適化が追加できるようになりました。 |
3433 |
|
|
3434 |
=item C<v-string in use/require is non-portable> |
=item C<v-string in use/require is non-portable> |
3435 |
|
|
3439 |
|
|
3440 |
=end original |
=end original |
3441 |
|
|
3442 |
|
この警告は取り除かれました。 |
3443 |
|
|
3444 |
=item C<Deep recursion on subroutine "%s"> |
=item C<Deep recursion on subroutine "%s"> |
3445 |
|
|
3451 |
|
|
3452 |
=end original |
=end original |
3453 |
|
|
3454 |
|
この警告が出る深さの閾値は、デフォルトでは 100 ですが、C プリプロセッサ |
3455 |
|
マクロ C<PERL_SUB_DEPTH_WARN> を好みの値に変えて F<perl> バイナリを |
3456 |
|
再コンパイルすることによって、変更できるようになりました。 |
3457 |
|
|
3458 |
=back |
=back |
3459 |
|
|
3472 |
|
|
3473 |
=end original |
=end original |
3474 |
|
|
3475 |
|
C ソースファイルの先頭にある J.R.R. Tolkien の引用文がチェックされ、 |
3476 |
|
適切な言及が追加されました; Tom Christiansen からのパッチに感謝します。 |
3477 |
|
|
3478 |
=item * |
=item * |
3479 |
|
|
3485 |
|
|
3486 |
=end original |
=end original |
3487 |
|
|
3488 |
|
C<vcroak()> は最初の引数として null も受け付けるようになりました。 |
3489 |
|
さらに、「非 NULL」に関するコンパイラ注釈の完全な監査が行われ、 |
3490 |
|
その他のいくつかの内部関数が修正されました。 |
3491 |
|
|
3492 |
=item * |
=item * |
3493 |
|
|
3499 |
|
|
3500 |
=end original |
=end original |
3501 |
|
|
3502 |
|
C<errno> 変数を一時的に補完することを形式化するための、 |
3503 |
|
C<dSAVEDERRNO>, C<dSAVE_ERRNO>, C<SAVE_ERRNO>, C<RESTORE_ERRNO> という |
3504 |
|
新しいマクロが追加されました。 |
3505 |
|
|
3506 |
=item * |
=item * |
3507 |
|
|
3512 |
|
|
3513 |
=end original |
=end original |
3514 |
|
|
3515 |
|
C<Perl_sv_insert> 関数を拡大するために、C<Perl_sv_insert_flags> 関数が |
3516 |
|
追加されました。 |
3517 |
|
|
3518 |
=item * |
=item * |
3519 |
|
|
3524 |
|
|
3525 |
=end original |
=end original |
3526 |
|
|
3527 |
|
C<Perl_newSV()> の後 C<Perl_sv_upgrade(type)> を実行するのと等価な、 |
3528 |
|
C<Perl_newSV_type(type)> 関数が追加されました。 |
3529 |
|
|
3530 |
=item * |
=item * |
3531 |
|
|
3536 |
|
|
3537 |
=end original |
=end original |
3538 |
|
|
3539 |
|
C<Perl_newSVpvn_flags()> 関数が追加されました; これは C<Perl_newSVpvn()> と |
3540 |
|
等価で、それからフラグに関連する動作を行います。 |
3541 |
|
|
3542 |
=begin original |
=begin original |
3543 |
|
|
3545 |
|
|
3546 |
=end original |
=end original |
3547 |
|
|
3548 |
|
現在のところ二つのフラグビットに対応しています。 |
3549 |
|
|
3550 |
=over 4 |
=over 4 |
3551 |
|
|
3559 |
|
|
3560 |
=end original |
=end original |
3561 |
|
|
3562 |
|
これはあなたのために C<SvUTF8_on()> を呼び出します。 |
3563 |
|
(これは ISO 8859-1 文字のシーケンスを UTF-8 に変換しないことに |
3564 |
|
注意してください。) |
3565 |
|
これのためのラッパである C<newSVpvn_utf8()> が利用可能です。 |
3566 |
|
|
3567 |
=item C<SVs_TEMP> |
=item C<SVs_TEMP> |
3568 |
|
|
3572 |
|
|
3573 |
=end original |
=end original |
3574 |
|
|
3575 |
|
新しい SV に対して C<sv_2mortal()> を呼び出します。 |
3576 |
|
|
3577 |
=back |
=back |
3578 |
|
|
3582 |
|
|
3583 |
=end original |
=end original |
3584 |
|
|
3585 |
|
定数文字列を取るラッパである C<newSVpvs_flags()> もあります。 |
3586 |
|
|
3587 |
=item * |
=item * |
3588 |
|
|
3593 |
|
|
3594 |
=end original |
=end original |
3595 |
|
|
3596 |
|
C<Perl_croak> へのラッパとして、C<Perl_croak_xs_usage> 関数が追加されました。 |
3597 |
|
|
3598 |
=item * |
=item * |
3599 |
|
|
3604 |
|
|
3605 |
=end original |
=end original |
3606 |
|
|
3607 |
|
C<PerlIO_find_layer> 関数と C<PerlIO_list_alloc> 関数が |
3608 |
|
エクスポートされるようになりました。 |
3609 |
|
|
3610 |
=item * |
=item * |
3611 |
|
|
3618 |
|
|
3619 |
=end original |
=end original |
3620 |
|
|
3621 |
|
C<PL_na> はコアコードから全て取り除かれ、ローカルな STRLEN テンポラリか |
3622 |
|
C<*_nolen()> 呼び出しに置き換えられました。 |
3623 |
|
どちらの手法も、ithreads ではインタプリタ構造体へ、さもなければ |
3624 |
|
グローバル変数へポインタを守る C<PL_na> よりも高速です。 |
3625 |
|
|
3626 |
=item * |
=item * |
3627 |
|
|
3633 |
|
|
3634 |
=end original |
=end original |
3635 |
|
|
3636 |
|
C<Perl_mg_free()> は、スカラでの SvMAGIC() 経由でアクセスできる |
3637 |
|
開放されたメモリをそのままにしていました。 |
3638 |
|
それぞれのマジックのかけらが開放されるごとに削除されるように、 |
3639 |
|
リンクリストが更新されるようになりました。 |
3640 |
|
|
3641 |
=item * |
=item * |
3642 |
|
|
3648 |
|
|
3649 |
=end original |
=end original |
3650 |
|
|
3651 |
|
ithreads において、C<PL_reg_curpm> 内の正規表現は参照カウントを |
3652 |
|
行うようにありました。 |
3653 |
|
これにより、参照カウントを行っていないことによる多くのハックっぽい |
3654 |
|
回避方法が不要になります。 |
3655 |
|
|
3656 |
=item * |
=item * |
3657 |
|
|
3662 |
|
|
3663 |
=end original |
=end original |
3664 |
|
|
3665 |
|
C<Perl_mg_magical()> は時々間違って C<SvRMAGICAL()> を作動させていました。 |
3666 |
|
これは修正されました。 |
3667 |
|
|
3668 |
=item * |
=item * |
3669 |
|
|
3675 |
|
|
3676 |
=end original |
=end original |
3677 |
|
|
3678 |
|
IV と NV の I<public> フラグは、もし文字列値の末尾に「ゴミ」が |
3679 |
|
ついている場合はセットされなくなりました。 |
3680 |
|
この振る舞いは、値が型の範囲を超えているときに IV や NV の |
3681 |
|
public フラグがセットされないことと一貫しています。 |
3682 |
|
|
3683 |
=item * |
=item * |
3684 |
|
|
3690 |
|
|
3691 |
=end original |
=end original |
3692 |
|
|
3693 |
|
C<-Dm> で有効になる診断に、SV 割り当てトレースが追加されました。 |
3694 |
|
トレースは、もし F<perl> バイナリがコンパイルされたときに |
3695 |
|
C<PERL_MEM_LOG> 機構が有効になっていた場合には、これを通しても出力されます。 |
3696 |
|
|
3697 |
=item * |
=item * |
3698 |
|
|
3704 |
|
|
3705 |
=end original |
=end original |
3706 |
|
|
3707 |
|
C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> などは、 |
3708 |
|
コアコードおよび 2 重管理されていないモジュールでは |
3709 |
|
C<NULL> に置き換えられました; C<NULL> はコアコードに親しんでいなくても |
3710 |
|
より明確だからです。 |
3711 |
|
|
3712 |
=item * |
=item * |
3713 |
|
|
3722 |
|
|
3723 |
=end original |
=end original |
3724 |
|
|
3725 |
|
C<MUTABLE_PTR(p)> マクロが追加されました; これは (pedantic でない) gcc では |
3726 |
|
C<const> 状態を捨てずに、C<void *> を返します。 |
3727 |
|
C<MUTABLE_SV(av)>, C<MUTABLE_SV(cv)> などのマクロはこれを使って |
3728 |
|
作成され、C<const> 状態を捨てることなく C<AV *> などにキャストします。 |
3729 |
|
これにより C<const> の正当性の適切なコンパイル時の監査が可能になり、 |
3730 |
|
いくつかのエラーの発見に役立ちました(これらは修正されました)。 |
3731 |
|
|
3732 |
=item * |
=item * |
3733 |
|
|
3738 |
|
|
3739 |
=end original |
=end original |
3740 |
|
|
3741 |
|
SV をスタックにプッシュし、それを揮発化させるための、 |
3742 |
|
C<mPUSHs()> と C<mXPUSHs()> のマクロが追加されました。 |
3743 |
|
|
3744 |
=item * |
=item * |
3745 |
|
|
3750 |
|
|
3751 |
=end original |
=end original |
3752 |
|
|
3753 |
|
プライベート構造体 C<mro_meta> の使用が少し変更されました。 |
3754 |
|
どちらにしろ、コアの外側からこれにアクセスすることは出来ません。 |
3755 |
|
|
3756 |
=item * |
=item * |
3757 |
|
|
3764 |
|
|
3765 |
=end original |
=end original |
3766 |
|
|
3767 |
|
新しいツールである C<Porting/expand-macro.pl> が追加され、 |
3768 |
|
コンパイル時に C プリプロセッサマクロがどのように展開されるかを見られます。 |
3769 |
|
これは perl の内部でマクロを展開しようとする時に便利です。 |
3770 |
|
|
3771 |
=back |
=back |
3772 |
|
|
3780 |
|
|
3781 |
=end original |
=end original |
3782 |
|
|
3783 |
|
CPAN から更新された多くのモジュールに新しいテストが組み込まれました。 |
3784 |
|
|
3785 |
=begin original |
=begin original |
3786 |
|
|
3791 |
|
|
3792 |
=end original |
=end original |
3793 |
|
|
3794 |
|
いくつかのテストは、テストが時間切れになった後に kill することで |
3795 |
|
C<make test> と C<make test_harness> が自動的に実行を終了することを |
3796 |
|
確実にするために組み込まれた「番犬」機能で失敗すると、 |
3797 |
|
ハングアップしてしまう可能性がありました (Jerry Hedden)。 |
3798 |
|
|
3799 |
=begin original |
=begin original |
3800 |
|
|
3802 |
|
|
3803 |
=end original |
=end original |
3804 |
|
|
3805 |
|
いくつかのコア固有のテストが追加されました: |
3806 |
|
|
3807 |
=over 4 |
=over 4 |
3808 |
|
|
3814 |
|
|
3815 |
=end original |
=end original |
3816 |
|
|
3817 |
|
デバッガが C<eval> からソース行を得られるかをチェックします。 |
3818 |
|
|
3819 |
=item t/io/perlio_fail.t |
=item t/io/perlio_fail.t |
3820 |
|
|
3824 |
|
|
3825 |
=end original |
=end original |
3826 |
|
|
3827 |
|
間違った層が失敗するかをチェックします。 |
3828 |
|
|
3829 |
=item t/io/perlio_leaks.t |
=item t/io/perlio_leaks.t |
3830 |
|
|
3834 |
|
|
3835 |
=end original |
=end original |
3836 |
|
|
3837 |
|
PerlIO 層がリークしていないかをチェックします。 |
3838 |
|
|
3839 |
=item t/io/perlio_open.t |
=item t/io/perlio_open.t |
3840 |
|
|
3844 |
|
|
3845 |
=end original |
=end original |
3846 |
|
|
3847 |
|
open のある種の特殊な形式が動作するかをチェックします。 |
3848 |
|
|
3849 |
=item t/io/perlio.t |
=item t/io/perlio.t |
3850 |
|
|
3854 |
|
|
3855 |
=end original |
=end original |
3856 |
|
|
3857 |
|
PerlIO を全体的にテストします。 |
3858 |
|
|
3859 |
=item t/io/pvbm.t |
=item t/io/pvbm.t |
3860 |
|
|
3865 |
|
|
3866 |
=end original |
=end original |
3867 |
|
|
3868 |
|
内部型 C<PVBM> と C<PVGV> の間で想定外の相互作用がないことをチェックします。 |
3869 |
|
|
3870 |
=item t/mro/package_aliases.t |
=item t/mro/package_aliases.t |
3871 |
|
|
3875 |
|
|
3876 |
=end original |
=end original |
3877 |
|
|
3878 |
|
エイリアス化されたパッケージが存在したときに MRO が適切に動作するかを |
3879 |
|
チェックします。 |
3880 |
|
|
3881 |
=item t/op/dbm.t |
=item t/op/dbm.t |
3882 |
|
|
3886 |
|
|
3887 |
=end original |
=end original |
3888 |
|
|
3889 |
|
C<dbmopen> と C<dbmclose> をテストします。 |
3890 |
|
|
3891 |
=item t/op/index_thr.t |
=item t/op/index_thr.t |
3892 |
|
|
3896 |
|
|
3897 |
=end original |
=end original |
3898 |
|
|
3899 |
|
C<index> とスレッドの相互作用をテストします。 |
3900 |
|
|
3901 |
=item t/op/pat_thr.t |
=item t/op/pat_thr.t |
3902 |
|
|
3906 |
|
|
3907 |
=end original |
=end original |
3908 |
|
|
3909 |
|
難解なパターンとスレッドの相互作用をテストします。 |
3910 |
|
|
3911 |
=item t/op/qr_gc.t |
=item t/op/qr_gc.t |
3912 |
|
|
3916 |
|
|
3917 |
=end original |
=end original |
3918 |
|
|
3919 |
|
C<qr> がリークしていないことをテストします。 |
3920 |
|
|
3921 |
=item t/op/reg_email_thr.t |
=item t/op/reg_email_thr.t |
3922 |
|
|
3926 |
|
|
3927 |
=end original |
=end original |
3928 |
|
|
3929 |
|
regex 再帰とスレッドの相互作用をテストします。 |
3930 |
|
|
3931 |
=item t/op/regexp_qr_embed_thr.t |
=item t/op/regexp_qr_embed_thr.t |
3932 |
|
|
3936 |
|
|
3937 |
=end original |
=end original |
3938 |
|
|
3939 |
|
組み込みの C<qr//> があるパターンとスレッドの相互作用をテストします。 |
3940 |
|
|
3941 |
=item t/op/regexp_unicode_prop.t |
=item t/op/regexp_unicode_prop.t |
3942 |
|
|
3946 |
|
|
3947 |
=end original |
=end original |
3948 |
|
|
3949 |
|
正規表現中の Unicode 特性をテストします。 |
3950 |
|
|
3951 |
=item t/op/regexp_unicode_prop_thr.t |
=item t/op/regexp_unicode_prop_thr.t |
3952 |
|
|
3956 |
|
|
3957 |
=end original |
=end original |
3958 |
|
|
3959 |
|
Unicode 特性とスレッドの相互作用をテストします。 |
3960 |
|
|
3961 |
=item t/op/reg_nc_tie.t |
=item t/op/reg_nc_tie.t |
3962 |
|
|
3966 |
|
|
3967 |
=end original |
=end original |
3968 |
|
|
3969 |
|
C<Tie::Hash::NamedCapture> の tie されたメソッドをテストします。 |
3970 |
|
|
3971 |
=item t/op/reg_posixcc.t |
=item t/op/reg_posixcc.t |
3972 |
|
|
3976 |
|
|
3977 |
=end original |
=end original |
3978 |
|
|
3979 |
|
POSIX 文字クラスが一貫性を持って振る舞うかをチェックします。 |
3980 |
|
|
3981 |
=item t/op/re.t |
=item t/op/re.t |
3982 |
|
|
3986 |
|
|
3987 |
=end original |
=end original |
3988 |
|
|
3989 |
|
F<universal.c> のエクスポート可能な C<re> 関数が動作するかをチェックします。 |
3990 |
|
|
3991 |
=item t/op/setpgrpstack.t |
=item t/op/setpgrpstack.t |
3992 |
|
|
3996 |
|
|
3997 |
=end original |
=end original |
3998 |
|
|
3999 |
|
C<setpgrp> が動作するかをチェックします。 |
4000 |
|
|
4001 |
=item t/op/substr_thr.t |
=item t/op/substr_thr.t |
4002 |
|
|
4006 |
|
|
4007 |
=end original |
=end original |
4008 |
|
|
4009 |
|
C<substr> とスレッドの相互作用をテストします。 |
4010 |
|
|
4011 |
=item t/op/upgrade.t |
=item t/op/upgrade.t |
4012 |
|
|
4016 |
|
|
4017 |
=end original |
=end original |
4018 |
|
|
4019 |
|
スカラの昇格と代入が動作するかをチェックします。 |
4020 |
|
|
4021 |
=item t/uni/lex_utf8.t |
=item t/uni/lex_utf8.t |
4022 |
|
|
4026 |
|
|
4027 |
=end original |
=end original |
4028 |
|
|
4029 |
|
文法解析器中の Unicode が動作するかをチェックします。 |
4030 |
|
|
4031 |
=item t/uni/tie.t |
=item t/uni/tie.t |
4032 |
|
|
4036 |
|
|
4037 |
=end original |
=end original |
4038 |
|
|
4039 |
|
Unicode と C<tie> が動作するかをチェックします。 |
4040 |
|
|
4041 |
=back |
=back |
4042 |
|
|
4051 |
|
|
4052 |
=end original |
=end original |
4053 |
|
|
4054 |
|
以下はいくつかの重要な未修正のバグの一覧で、5.10.0 か 5.8.x からの |
4055 |
|
退行です。 |
4056 |
|
|
4057 |
=over 4 |
=over 4 |
4058 |
|
|
4067 |
|
|
4068 |
=end original |
=end original |
4069 |
|
|
4070 |
|
C<List::Util::first> は (典型的には C<my $_> や C<given> による) |
4071 |
|
レキシカルな C<$_> の存在について振る舞いを間違えていました。 |
4072 |
|
each の反復で設定される変数はレキシカルな C<$_> ではなくパッケージ変数の |
4073 |
|
C<$_> です [RT #67694]。 |
4074 |
|
|
4075 |
=begin original |
=begin original |
4076 |
|
|
4079 |
|
|
4080 |
=end original |
=end original |
4081 |
|
|
4082 |
|
同様の問題は、以下のように、最初の引数としてブロックを取る関数を提供している |
4083 |
|
その他のモジュールにも発生するかもしれません。 |
4084 |
|
|
4085 |
foo { ... $_ ...} list |
foo { ... $_ ...} list |
4086 |
|
|
4093 |
|
|
4094 |
=end original |
=end original |
4095 |
|
|
4096 |
|
C<charnames> プラグマは、正規表現が変数展開されたときに実行時エラーを |
4097 |
|
出すことがあります [RT #56444]: |
4098 |
|
|
4099 |
use charnames ':full'; |
use charnames ':full'; |
4100 |
my $r1 = qr/\N{THAI CHARACTER SARA I}/; |
my $r1 = qr/\N{THAI CHARACTER SARA I}/; |
4107 |
|
|
4108 |
=end original |
=end original |
4109 |
|
|
4110 |
|
回避方法は、正規表現の外側で文字を生成することです: |
4111 |
|
|
4112 |
my $a = "\N{THAI CHARACTER SARA I}"; |
my $a = "\N{THAI CHARACTER SARA I}"; |
4113 |
my $r1 = qr/$a/; |
my $r1 = qr/$a/; |
4121 |
|
|
4122 |
=end original |
=end original |
4123 |
|
|
4124 |
|
正規表現によっては、パターンをコンパイルしたスレッドで実行するのに比べて |
4125 |
|
子スレッドではとても遅くなることがあります [RT #55600]。 |
4126 |
|
|
4127 |
=back |
=back |
4128 |
|
|
4136 |
|
|
4137 |
=end original |
=end original |
4138 |
|
|
4139 |
|
以下のものは非推奨となりました。 |
4140 |
|
|
4141 |
=over 4 |
=over 4 |
4142 |
|
|
4152 |
|
|
4153 |
=end original |
=end original |
4154 |
|
|
4155 |
|
C<Switch> はバグが多いので避けるべきです。 |
4156 |
|
perl 5.11.0 以降、このモジュールのコアバージョンを使うと警告が出力され、 |
4157 |
|
最終的には(おそらく perl 5.14.0 で)コアから取り除かれます。 |
4158 |
|
代替品については L<perlsyn/"Switch statements"> を参照してください。 |
4159 |
|
|
4160 |
=item * |
=item * |
4161 |
|
|
4166 |
|
|
4167 |
=end original |
=end original |
4168 |
|
|
4169 |
|
C<suidperl> は 5.12.0 で取り除かれます。 |
4170 |
|
これは setuid 許可ビットを正しく扱えないシステムで、これをエミュレートする |
4171 |
|
機構を提供しています。 |
4172 |
|
|
4173 |
=back |
=back |
4174 |
|
|
4182 |
|
|
4183 |
=end original |
=end original |
4184 |
|
|
4185 |
|
このリリースの作業の一部は TRF の助成金を受けています。 |
4186 |
|
|
4187 |
=begin original |
=begin original |
4188 |
|
|
4193 |
|
|
4194 |
=end original |
=end original |
4195 |
|
|
4196 |
|
Nicholas Clark は 2008 年末をもって公式にメンテナンス pumpking の役目から |
4197 |
|
引退しました; しかし、実際のところ彼はこの perldelta のかなり部分を |
4198 |
|
書くことを含む、5.10.1 をリリースできる状態にするために多くの |
4199 |
|
努力をしています。 |
4200 |
|
|
4201 |
=begin original |
=begin original |
4202 |
|
|
4205 |
|
|
4206 |
=end original |
=end original |
4207 |
|
|
4208 |
|
特に Steffen Mueller と David Golden は CPAN モジュールを磨き上げて |
4209 |
|
コア内部の等価物と同期させることを助けました。 |
4210 |
|
|
4211 |
=begin original |
=begin original |
4212 |
|
|
4215 |
|
|
4216 |
=end original |
=end original |
4217 |
|
|
4218 |
|
Craig Berry は、何度私たちが中断させようとしても、飽きることなく |
4219 |
|
VMS で動作するように管理しつつけました。 |
4220 |
|
|
4221 |
=begin original |
=begin original |
4222 |
|
|
4225 |
|
|
4226 |
=end original |
=end original |
4227 |
|
|
4228 |
|
その他のコアコミッタはほとんどの変更を提供し、F<AUTHORS> に上げられている |
4229 |
|
数百の貢献者によって送られたパッチのほとんどを適用しました。 |
4230 |
|
|
4231 |
=begin original |
=begin original |
4232 |
|
|
4234 |
|
|
4235 |
=end original |
=end original |
4236 |
|
|
4237 |
|
(ここで名前を触れなかった全ての人々に陳謝します)。 |
4238 |
|
|
4239 |
=begin original |
=begin original |
4240 |
|
|
4243 |
|
|
4244 |
=end original |
=end original |
4245 |
|
|
4246 |
|
最後に、Larry Wall に感謝します; 彼がいなければこれら全ては不要でした。 |
4247 |
|
|
4248 |
=head1 Reporting Bugs |
=head1 Reporting Bugs |
4249 |
|
|
4258 |
|
|
4259 |
=end original |
=end original |
4260 |
|
|
4261 |
|
もしバグと思われるものを見つけたら、comp.lang.perl.misc ニュースグループに |
4262 |
|
最近投稿された記事や http://rt.perl.org/perlbug/ にある perl バグ |
4263 |
|
データベースを確認してください。 |
4264 |
|
Perl ホームページ、http://www.perl.org にも情報があります。 |
4265 |
|
|
4266 |
=begin original |
=begin original |
4267 |
|
|
4273 |
|
|
4274 |
=end original |
=end original |
4275 |
|
|
4276 |
|
もしまだ報告されていないバグだと確信したら、そのリリースに含まれている |
4277 |
|
perlbug プログラムをを実行してください。 |
4278 |
|
バグの再現スクリプトを十分小さく、しかし有効なコードに切りつめることを |
4279 |
|
意識してください。バグレポートは perl -V の出力と一緒に |
4280 |
|
perlbug@perl.org に送られ Perl porting チームによって解析されます。 |
4281 |
|
|
4282 |
=begin original |
=begin original |
4283 |
|
|
4293 |
|
|
4294 |
=end original |
=end original |
4295 |
|
|
4296 |
|
もし報告しようとしているバグがセキュリティに関するもので、公開されている |
4297 |
|
メーリングリストに送るのが不適切なものなら、 |
4298 |
|
perl5-security-report@perl.org に送ってください。 |
4299 |
|
このアドレスは、問題の影響を評価し、解決法を見つけ、Perl が対応している |
4300 |
|
全てのプラットフォームで問題を軽減または解決するパッチをリリースするのを |
4301 |
|
助けることが出来る、全てのコアコミッタが参加している非公開の |
4302 |
|
メーリングリストになっています。 |
4303 |
|
このアドレスは、独自に CPAN で配布されているモジュールではなく、 |
4304 |
|
Perl コアのセキュリティ問題だけに使ってください。 |
4305 |
|
|
4306 |
=head1 SEE ALSO |
=head1 SEE ALSO |
4307 |
|
|
4341 |
=begin meta |
=begin meta |
4342 |
|
|
4343 |
Translate: Kentaro Shirakata <argrath@ub32.org> |
Translate: Kentaro Shirakata <argrath@ub32.org> |
|
License: Same as Perl |
|
4344 |
|
|
4345 |
=end meta |
=end meta |
4346 |
|
|