argra****@users*****
argra****@users*****
2009年 4月 4日 (土) 01:35:44 JST
Index: docs/perl/5.10.0/perlapi.pod diff -u docs/perl/5.10.0/perlapi.pod:1.8 docs/perl/5.10.0/perlapi.pod:1.9 --- docs/perl/5.10.0/perlapi.pod:1.8 Wed Feb 4 00:37:34 2009 +++ docs/perl/5.10.0/perlapi.pod Sat Apr 4 01:35:44 2009 @@ -3979,8 +3979,7 @@ =end original -PoisonWith(0xEF) for catching access to freed memory. -(TBT) +解放されたメモリへのアクセスを捕捉するための PoisonWith(0xEF) です。 void Poison(void* dest, int nitems, type) @@ -3996,8 +3995,7 @@ =end original -PoisonWith(0xEF) for catching access to freed memory. -(TBT) +解放されたメモリへのアクセスを捕捉するための PoisonWith(0xEF) です。 void PoisonFree(void* dest, int nitems, type) @@ -8272,10 +8270,9 @@ =end original -Same as SvREFCNT_inc, but can only be used if you know I<sv> -is not NULL. Since we don't have to check the NULLness, it's faster -and smaller. -(TBT) +SvREFCNT_inc と同じですが、 +I<sv> が NULL ではないと分かっている場合にのみ使えます。 +NULL かどうかをチェックする必要がないので、より速くより小さいです。 SV* SvREFCNT_inc_NN(SV* sv) @@ -8292,9 +8289,8 @@ =end original -Same as SvREFCNT_inc, but can only be used with expressions without side -effects. Since we don't have to store a temporary value, it's faster. -(TBT) +SvREFCNT_inc と同じですが、式に副作用がない場合にのみ使えます。 +一時的な値を保管する必要がないので、より速いです。 SV* SvREFCNT_inc_simple(SV* sv) @@ -8312,10 +8308,9 @@ =end original -Same as SvREFCNT_inc_simple, but can only be used if you know I<sv> -is not NULL. Since we don't have to check the NULLness, it's faster -and smaller. -(TBT) +SvREFCNT_inc_simple と同じですが、 +I<sv> が NULL ではないと分かっている場合にのみ使えます。 +NULL かどうかをチェックする必要がないので、より速くより小さいです。 SV* SvREFCNT_inc_simple_NN(SV* sv) @@ -8332,9 +8327,8 @@ =end original -Same as SvREFCNT_inc_simple, but can only be used if you don't need the -return value. The macro doesn't need to return a meaningful value. -(TBT) +SvREFCNT_inc_simple と同じですが、返り値が不要な場合にのみ使えます。 +このマクロは意味のある値を返す必要はありません。 void SvREFCNT_inc_simple_void(SV* sv) @@ -8353,11 +8347,10 @@ =end original -Same as SvREFCNT_inc, but can only be used if you don't need the return -value, and you know that I<sv> is not NULL. The macro doesn't need -to return a meaningful value, or check for NULLness, so it's smaller -and faster. -(TBT) +SvREFCNT_inc と同じですが、返り値が不要で、I<sv> が NULL ではないと +分かっている場合にのみ使えます。 +このマクロは意味のある値を返す必要が無く、NULL をチェックする必要もないので、 +より速くより小さいです。 void SvREFCNT_inc_simple_void_NN(SV* sv) @@ -8374,9 +8367,8 @@ =end original -Same as SvREFCNT_inc, but can only be used if you don't need the -return value. The macro doesn't need to return a meaningful value. -(TBT) +SvREFCNT_inc と同じですが、返り値が不要な場合にのみ使えます。 +このマクロは意味のある値を返す必要はありません。 void SvREFCNT_inc_void(SV* sv) @@ -8395,11 +8387,10 @@ =end original -Same as SvREFCNT_inc, but can only be used if you don't need the return -value, and you know that I<sv> is not NULL. The macro doesn't need -to return a meaningful value, or check for NULLness, so it's smaller -and faster. -(TBT) +SvREFCNT_inc と同じですが、返り値が不要で、I<sv> が NULL ではないと +分かっている場合にのみ使えます。 +このマクロは意味のある値を返す必要が無く、NULL をチェックする必要もないので、 +より速くより小さいです。 void SvREFCNT_inc_void_NN(SV* sv) @@ -8590,8 +8581,7 @@ =end original -Marks an SV as tainted if tainting is enabled. -(TBT) +汚染チェックが有効な場合、汚染されているという印を SV につけます。 void SvTAINTED_on(SV* sv) @@ -8643,8 +8633,7 @@ =end original -Returns a boolean indicating whether the SV contains an unsigned integer. -(TBT) +SV が符号なし整数を含んでいるかどうかを示す真偽値を返します。 bool SvUOK(SV* sv) @@ -8681,7 +8670,8 @@ =end original -Returns a U32 value indicating whether the SV contains UTF-8 encoded data. +SV が UTF-8 エンコードされたデータを含んでいるかどうかを示す U32 値を +返します。 Call this after SvPV() in case any call to string overloading updates the internal flag. (TBT) @@ -8717,9 +8707,8 @@ =end original -Turn on the UTF-8 status of an SV (the data is not changed, just the flag). -Do not use frivolously. -(TBT) +SV の UTF-8 状態をオンにします (データは変更されません; フラグだけです)。 +軽率に使わないでください。 void SvUTF8_on(SV *sv) @@ -8737,9 +8726,8 @@ =end original SV を強制的に無符号整数に変換し、それを返します。 -See C<SvUVx> -for a version which guarantees to evaluate sv only once. -(TBT) +sv が 1 度だけ評価されることを保証しているバージョンについては +C<SvUVx> を参照してください。 UV SvUV(SV* sv) @@ -8756,9 +8744,9 @@ =end original -Returns the raw value in the SV's UV slot, without checks or conversions. -Only use when you are sure SvIOK is true. See also C<SvUV()>. -(TBT) +SV の UV スロットの生の値を、チェックや変換なしに返します。 +SvIOK が真であることを確認した後にのみ使えます。 +C<SvUV()> も参照してください。 UV SvUVX(SV* sv) @@ -8828,8 +8816,7 @@ =end original -Returns a boolean indicating whether the SV contains a v-string. -(TBT) +SV がv-文字列を含んでいるかどうかを示す真偽値を返します。 bool SvVOK(SV* sv) Index: docs/perl/5.10.0/perlretut.pod diff -u docs/perl/5.10.0/perlretut.pod:1.9 docs/perl/5.10.0/perlretut.pod:1.10 --- docs/perl/5.10.0/perlretut.pod:1.9 Wed Apr 1 01:29:20 2009 +++ docs/perl/5.10.0/perlretut.pod Sat Apr 4 01:35:44 2009 @@ -4854,13 +4854,12 @@ =end original バックトラッキングは、異なる正規表現を繰り返し試すよりも効果的です。 -If there are several regular expressions and a match with -any of them is acceptable, then it is possible to combine them into a set -of alternatives. If the individual expressions are input data, this -can be done by programming a join operation. We'll exploit this idea in -an improved version of the C<simple_grep> program: a program that matches -multiple patterns: -(TBT) +もしいくつかの正規表現があって、そのどれとマッチしてもいい場合、 +それらを選択肢の集合に結合できます。 +もしこの正規表現が入力データなら、これは結合操作をプログラミングすることで +行えます。 +このアイデアを C<simple_grep> プログラムの拡張版 +(複数のパターンにマッチするプログラム)で利用することにします: % cat > multi_grep #!/usr/bin/perl @@ -4964,7 +4963,7 @@ =end original このセクションのはじめで、Perl の I<拡張パターン>(extended patterns)の -セットについて述べると言いました。 +集合について述べると言いました。 以下に述べるのは、伝統的な正規表現構文を拡張して、パターンマッチングに おいて新しい強力なツールを提供するものです。 すでに、C<??>, C<*?>, C<+?>, C<{n,m}?>, C<{n,}?> といった @@ -5308,7 +5307,7 @@ =end original -I<独立部分式> (Independent subexpressions )はより大きな正規表現の中で +I<独立部分式> (Independent subexpressions) はより大きな正規表現の中で 独立した機能を持った正規表現です。 つまり、より大きな正規表現がマッチすることには関係なく、望む限りの大きな 文字列もしくは望む限りの小さな文字列にマッチしたものを消費します。 @@ -5599,14 +5598,12 @@ =end original -Some regular expressions use identical subpatterns in several places. -Starting with Perl 5.10, it is possible to define named subpatterns in -a section of the pattern so that they can be called up by name -anywhere in the pattern. +同じ部分パターンを複数の箇所で使う正規表現もあります。 +Perl 5.10 から、パターンのどこでも名前で呼び出せるようにするために、 +パターンの一部で名前付き部分パターンを定義できるようになっています。 この定義グループのためのパターン文法は C<< (?(DEFINE)(?<name>pattern)...) >> です。 名前付きパターンの挿入は C<(?&name)> のように書きます。 -(TBT) =begin original @@ -5620,13 +5617,14 @@ =end original -The example below illustrates this feature using the pattern for -floating point numbers that was presented earlier on. The three +以下の例では以前に説明した浮動小数点数のためのパターンを使った +この機能を示しています。 +The three subpatterns that are used more than once are the optional sign, the -digit sequence for an integer and the decimal fraction. The DEFINE -group at the end of the pattern contains their definition. Notice -that the decimal fraction pattern is the first place where we can -reuse the integer pattern. +digit sequence for an integer and the decimal fraction. +パターンの末尾の DEFINE グループはこれらの定義を含んでいます。 +小数点のパターンは整数のパターンを再利用できる最初の位置であることに +注意してください。 (TBT) /^ (?&osg)\ * ( (?&int)(?&dec)? | (?&dec) ) Index: docs/perl/5.10.0/perlunicode.pod diff -u docs/perl/5.10.0/perlunicode.pod:1.4 docs/perl/5.10.0/perlunicode.pod:1.5 --- docs/perl/5.10.0/perlunicode.pod:1.4 Wed Apr 1 01:29:20 2009 +++ docs/perl/5.10.0/perlunicode.pod Sat Apr 4 01:35:44 2009 @@ -1394,9 +1394,9 @@ =end original -その特性に含めるすべての文字を表す、"+" で始まる組み込みの文字特性 -("utf8::" を前置します) もしくはユーザー定義の文字特性。 -範囲には二つの十六進数値を使い、符号位置にはひとつの十六進数値を使います。 +("+" を前置して) その特性に含めるもの: +("utf8::" が前置された) 組み込みの文字特性もしくはユーザー定義の文字特性; +範囲のための 2 つの 16 進符号位置; あるいは単一の 16 進符号位置。 =item * @@ -1409,9 +1409,9 @@ =end original -その特性から除外するすべての文字を表す、"-" で始まる組み込みの文字特性 -("utf8::" を前置します)もしくはユーザー定義の文字特性。 -範囲には二つの十六進数値を使い、符号位置にはひとつの十六進数値を使います。 +("-" を前置して) その特性から除外するもの: +("utf8::" が前置された) 組み込みの文字特性もしくはユーザー定義の文字特性; +範囲のための 2 つの 16 進符号位置; あるいは単一の 16 進符号位置。 =item * @@ -1424,9 +1424,9 @@ =end original -意味を反転することを指示する "!" が前置された ("utf8::" が前置された) -組み込みの文字特性もしくはユーザー定義の文字特性。 -範囲には二つの十六進数値を使い、符号位置には一つの十六進数値を使います。 +("!" を前置して)否定を取るもの: +("utf8::" が前置された) 組み込みの文字特性もしくはユーザー定義の文字特性; +範囲のための 2 つの 16 進符号位置; あるいは単一の 16 進符号位置。 =item * @@ -1439,11 +1439,10 @@ =end original -Something to intersect with, prefixed by "&": an existing character -property (prefixed by "utf8::") or a user-defined character property, -for all the characters except the characters in the property; two -hexadecimal code points for a range; or a single hexadecimal code point. -(TBT) +("&" を前置して)共通集合を取るもの: +特性にある文字以外の全ての文字のための +("utf8::" が前置された) 既に存在する文字特性またはユーザー定義文字特性; +範囲のための 2 つの 16 進符号位置; あるいは単一の 16 進符号位置。 =back @@ -1704,15 +1703,8 @@ =item * -=begin original - Level 1 - Basic Unicode Support -=end original - -Level 1 - Basic Unicode Support -(TBT) - RL1.1 Hex Notation - done [1] RL1.2 Properties - done [2][3] RL1.2a Compatibility Properties - done [4] @@ -1755,7 +1747,7 @@ =end original [a] class subtraction を先読みを使って模倣することができます。 -たとえば、以下のUTR #18は +たとえば、以下の UTR #18 は [{Greek}-[{UNASSIGNED}]] @@ -1765,8 +1757,7 @@ =end original - - 以下のようにPerlで記述できます: +以下のように Perl で記述できます: (?!\p{Unassigned})\p{InGreekAndCoptic} (?=\p{Assigned})\p{InGreekAndCoptic} @@ -1807,9 +1798,9 @@ =end original -[b] '+' for union, '-' for removal (set-difference), '&' for intersection -(see L</"User-Defined Character Properties">) -(TBT) +[b] 結合のためには '+'、除去(差集合)のためには '-'、 +共通集合のためには '&' です +(L</"User-Defined Character Properties"> を参照してください) =begin original @@ -1817,8 +1808,7 @@ =end original -[c] Try the C<:crlf> layer (see L<PerlIO>). -(TBT) +[c] C<:crlf> 層を試してください (L<PerlIO> を参照してください)。 =begin original @@ -1827,21 +1817,13 @@ =end original -[d] Avoid C<use warning 'utf8';> (or say C<no warning 'utf8';>) to allow -U+FFFF (C<\x{FFFF}>). -(TBT) +[d] U+FFFF (C<\x{FFFF}>) を許可するために、C<use warning 'utf8';> を +しないでください (または C<no warning 'utf8';> としてください)。 =item * -=begin original - Level 2 - Extended Unicode Support -=end original - -Level 2 - Extended Unicode Support -(TBT) - RL2.1 Canonical Equivalents - MISSING [10][11] RL2.2 Default Grapheme Clusters - MISSING [12][13] RL2.3 Default Word Boundaries - MISSING [14] @@ -1865,19 +1847,11 @@ =end original -[e] C<\N{...}> allows namespaces (see L<charnames>). -(TBT) +[e] C<\N{...}> は名前空間を許可します (L<charnames> を参照してください)。 =item * -=begin original - -Level 3 - Tailored Support - -=end original - Level 3 - Tailored Support -(TBT) RL3.1 Tailored Punctuation - MISSING RL3.2 Tailored Grapheme Clusters - MISSING [17][18] @@ -2023,8 +1997,7 @@ =end original -UTF-16, UTF-16BE, UTF-16LE, Surrogates, and BOMs (Byte Order Marks) -(TBT) +UTF-16, UTF-16BE, UTF-16LE, サロゲート, BOM (Byte Order Marks) =begin original @@ -2033,9 +2006,8 @@ =end original -The followings items are mostly for reference and general Unicode -knowledge, Perl doesn't use these constructs internally. -(TBT) +以下の項目はほとんど参照および一般的な Unicode 知識のためのもので、 +Perl はこれらの構造を内部で使っていません。 =begin original @@ -2047,7 +2019,7 @@ =end original -UTF-16は2バイトもしくは4バイトのエンコーディングです。 +UTF-16 は 2 バイトもしくは 4 バイトのエンコーディングです。 C<U+0000..U+FFFF> の範囲の Unicode の符号位置はひとつの 16 ビット ユニットに収められ、C<U+10000..U+10FFFF> の範囲の符号位置は 2 つの 16 ビットユニットに収められます。 @@ -2121,7 +2093,7 @@ このことは別の問題を引き起こします: あなたのデータが UTF-16 であることだけを 知っていて、そのバイト並び順を知らなかったとしたら? -バイト順マークもしくは BOM はこれを解決します。 +バイト順マーク (Byte Order Marks)、略して BOM はこれを解決します。 バイト並びのマーカーとしての機能のために Unicode では特殊な文字が 予約されています: その文字は符号位置の C<U+FEFF> です。 @@ -2155,7 +2127,7 @@ このトリックがうまくいくのは符号位置 C<U+FFFE> の文字は正当な Unicode 文字でないということによって、C<0xFF 0xFE> という並びは紛れなく "リトルエンディアンフォーマットの BOM" であって -"ビッグエンディアンの C<U+FFFE>"とはならないのです。 +"ビッグエンディアンの C<U+FFFE>" とはならないのです。 =item * @@ -2223,8 +2195,7 @@ =end original -Malformed UTF-8 -(TBT) +不正な UTF-8 =begin original @@ -2342,18 +2313,20 @@ =end original -The way Unicode is handled on EBCDIC platforms is still -experimental. On such platforms, references to UTF-8 encoding in this -document and elsewhere should be read as meaning the UTF-EBCDIC -specified in Unicode Technical Report 16, unless ASCII vs. EBCDIC issues -are specifically discussed. There is no C<utfebcdic> pragma or -":utfebcdic" layer; rather, "utf8" and ":utf8" are reused to mean -the platform's "natural" 8-bit encoding of Unicode. See L<perlebcdic> -for more discussion of the issues. -(TBT) +EBCDIC プラットフォームでの Unicode の扱い方は未だ実験的です。 +このようなプラットフォームでは、この文書やその他での +UTF-8 エンコーディングへの言及は、特に ASCII 対 EBCDIC 問題について +議論されている場合でない限りは、Unicode Technical Report 16 で +定義されている UTF-EBCDIC を意味するものとして読むべきです。 +C<utfebcdic> プラグマや ":utfebcdic" 層はありません; +代わりに、"utf8" と ":utf8" が、そのプラットフォームの「自然な」 +Unicode の 8 ビットエンコーディングを意味するように再利用されています。 +この問題に関する更なる議論については L<perlebcdic> を参照してください。 =head2 Locales +(ロケール) + =begin original Usually locale settings and Unicode do not affect each other, but @@ -2492,6 +2465,8 @@ =head2 Forcing Unicode in Perl (Or Unforcing Unicode in Perl) +(Unicode を Perl に強制する (あるいは Unicode でないことを Perl に強制する)) + =begin original Sometimes (see L</"When Unicode Does Not Happen">) there are @@ -2524,6 +2499,8 @@ =head2 Using Unicode in XS +(XS で Unicode を使う) + =begin original If you want to handle Perl Unicode in XS extensions, you may find the @@ -2594,8 +2571,8 @@ =end original -C<utf8_to_uvuni(buf, lenp)> はバッファからUTF-8エンコードされたバイトを -読み出し、Unicode の文字符号位置とオプションで、その +C<utf8_to_uvuni(buf, lenp)> はバッファから UTF-8 エンコードされたバイトを +読み出し、Unicode の文字符号位置と、オプションでその UTF-8 バイトシーケンスの長さを返します。 =item * @@ -2628,7 +2605,7 @@ =end original -C<sv_utf8_upgrade(sv)> はスカラの文字列をそのUTF-8エンコードされた +C<sv_utf8_upgrade(sv)> はスカラの文字列をその UTF-8 エンコードされた 形式に変換します。 C<sv_utf8_downgrade(sv)> は(可能であれば)その反対の動作をします。 C<sv_utf8_encode(sv)> は C<sv_utf8_upgrade> に似ていますが、 @@ -2737,7 +2714,7 @@ デフォルトではデバッグのみに便利です -- B<すべての> 文字を 16 進の符号位置として表示します -- しかし C<UNI_DISPLAY_ISPRINT>, C<UNI_DISPLAY_BACKSLASH>, C<UNI_DISPLAY_QQ> というフラグを -与えることによって、出力を読みやすくすることができるでしょう。 +与えることによって、出力を読みやすくできます。 =item * @@ -2763,13 +2740,15 @@ =end original -もっと詳しい情報は、L<perlapi> と、Perl のソースコード配布中の +もっと詳しい情報は、L<perlapi> と、Perl のソースコード配布の F<utf8.c> と F<utf8.h> を参照してください。 =head1 BUGS =head2 Interaction with Locales +(ロケールとの相互作用) + =begin original Use of locales with Unicode data may lead to odd results. Currently, @@ -2792,6 +2771,8 @@ =head2 Interaction with Extensions +(エクステンションとの相互作用) + =begin original When Perl exchanges data with an extension, the extension should be @@ -3032,8 +3013,8 @@ Compress::Zlib、Apache::Request などの、マニュアルページに Unicode に 関する記載がない何らかのエクステンションで、確実に UTF8 フラグが -オフにする必要があるでしょう。 -これを書いている時点(2002 年の 10 月)では、上記のモジュールは +オフにする必要があります。 +これを書いている時点(2002 年 10 月)では、上記のモジュールは UTF-8 対応でないことに注意してください。 これがまだ真であるのなら、ドキュメントをチェックして確かめてください。