argra****@users*****
argra****@users*****
2013年 4月 2日 (火) 03:36:03 JST
Index: docs/perl/5.16.1/perlfunc.pod diff -u docs/perl/5.16.1/perlfunc.pod:1.3 docs/perl/5.16.1/perlfunc.pod:1.4 --- docs/perl/5.16.1/perlfunc.pod:1.3 Fri Mar 29 06:03:33 2013 +++ docs/perl/5.16.1/perlfunc.pod Tue Apr 2 03:36:01 2013 @@ -1507,7 +1507,7 @@ このキーワードは C<"switch"> 機能によって有効になります: さらなる情報については L<feature> を参照してください。 C<CORE::> を前置することによってもアクセスできます。 -あるいは、現在のスコープに C<use v5.10> 以降を含めてください。 +または、現在のスコープに C<use v5.10> 以降を含めてください。 =item caller EXPR X<caller> X<call stack> X<stack> X<stack trace> @@ -4565,7 +4565,7 @@ =end original -畳み込みは大文字小文字の違いを消した形式に文字列をマッピングする処理です。 +畳み込みは大文字小文字の違いを消した形式に文字列をマッピングする処理です; 畳み込み形式で二つの文字列を比較するのは二つの文字列が大文字小文字に 関わらず等しいかどうかを比較する効率的な方法です。 @@ -4661,7 +4661,7 @@ このキーワードは C<"fc"> 機能が有効のときか、C<CORE::> が 前置されたときにのみ利用可能です; L<feature> を参照してください。 -または、現在のスコープで C<use v5.16> またはそれ以上を含めてください。 +または、現在のスコープに C<use v5.16> またはそれ以上を含めてください。 =item fcntl FILEHANDLE,FUNCTION,SCALAR X<fcntl> @@ -6216,7 +6216,7 @@ つまり、grep で返されたリストの要素を (C<foreach>, C<map>, または他の C<grep> で)修正すると 元のリストの要素が変更されます。 -これはきれいなコードを書こうとする邪魔になることが多いです。 +これはきれいなコードを書くときには普通は回避されます。 =begin original @@ -6847,9 +6847,9 @@ =end original -ブロックはそれ自体文法的には一度だけ実行されるループと同等であることに -注意してください。従って、C<last> でそのようなブロックを -途中で抜け出すことができます。 +ブロック自身は一回だけ実行されるループと文法的に同一であることに +注意してください。 +従って、C<last> でそのようなブロックを途中で抜け出すことができます。 =begin original @@ -6958,16 +6958,16 @@ =end original -A deficiency in this is that case changes that cross the 255/256 -boundary are not well-defined. For example, the lower case of LATIN CAPITAL -LETTER SHARP S (U+1E9E) in Unicode semantics is U+00DF (on ASCII -platforms). But under C<use locale>, the lower case of U+1E9E is -itself, because 0xDF may not be LATIN SMALL LETTER SHARP S in the -current locale, and Perl has no way of knowing if that character even -exists in the locale, much less what code point it is. Perl returns -the input character unchanged, for all instances (and there aren't -many) where the 255/256 boundary would otherwise be crossed. -(TBT) +これの欠点は、255/266 の境界をまたぐ大文字小文字の変換は +未定義であることです。 +例えば、Unicode での LATIN CAPITAL LETTER SHARP S (U+1E9E) の小文字は +(ASCII プラットフォームでは) U+00DF です。 +しかし C<use locale> が有効なら、U+1E9E の小文字は自分自身です; なぜなら +0xDF は現在のロケールでは LATIN SMALL LETTER SHARP S ではなく、Perl は +例えこのロケールに文字が存在するかどうかを知る方法がなく、まして +どの符号位置かを知る方法がないからです。 +Perl は 255/256 境界をまたぐ全ての(多くはありません)実体については +入力文字を変更せずに返します。 =item Otherwise, If EXPR has the UTF8 flag set: @@ -11363,7 +11363,7 @@ =end original -Perl 5.14 では、全ての非 ASCII 文字は非 UTF-8 エンコードされた +Perl v5.14 では、全ての非 ASCII 文字は非 UTF-8 エンコードされた 文字列ではクォートされませんが、UTF-8 文字列ではクォートされます。 =begin original @@ -11374,8 +11374,8 @@ =end original -Perl v5.16 から、Perl 非 ASCII 文字をクォートするのに Unicode で定義された -戦略を採用しました; ASCII 文字のクォートは変わりません。 +Perl v5.16 から、Perl は非 ASCII 文字をクォートするのに Unicode で +定義された戦略を採用しました; ASCII 文字のクォートは変わりません。 =begin original @@ -11388,13 +11388,13 @@ =end original -Also unchanged is the quoting of non-UTF-8 strings when outside the -scope of a C<use feature 'unicode_strings'>, which is to quote all -characters in the upper Latin1 range. This provides complete backwards -compatibility for old programs which do not use Unicode. (Note that -C<unicode_strings> is automatically enabled within the scope of a -S<C<use v5.12>> or greater.) -(TBT) +また、C<use feature 'unicode_strings'> の範囲外で非 UTF-8 文字列を +クォートするのも変わりません; 上位の Latin1 の範囲の全ての文字を +クォートします。 +これは Unicode を使わない古いプログラムに対して完全な後方互換性を +提供します。 +(C<unicode_strings> は S<C<use v5.12>> またはそれ以上のスコープでは +自動的に有効になることに注意してください。) =begin original @@ -11406,12 +11406,10 @@ =end original -Within the scope of C<use locale>, all non-ASCII Latin1 code points -are quoted whether the string is encoded as UTF-8 or not. As mentioned -above, locale does not affect the quoting of ASCII-range characters. -This protects against those locales where characters such as C<"|"> are -considered to be word characters. -(TBT) +C<use locale> スコープの内側では、全ての非 ASCII Latin1 符号位置は +文字列が UTF-8 でエンコードされているかどうかに関わらずクォートされます。 +上述のように、ロケールは ASCII の範囲の文字のクォートに影響を与えません。 +これは C<"|"> のような文字が単語文字として考えられるロケールから守ります。 =begin original @@ -11423,12 +11421,11 @@ =end original -Otherwise, Perl quotes non-ASCII characters using an adaptation from -Unicode (see L<http://www.unicode.org/reports/tr31/>.) -The only code points that are quoted are those that have any of the -Unicode properties: Pattern_Syntax, Pattern_White_Space, White_Space, -Default_Ignorable_Code_Point, or General_Category=Control. -(TBT) +さもなければ、Perl は Unicode からの本版を使って非 ASCII 文字をクォートします +(L<http://www.unicode.org/reports/tr31/> 参照)。 +クォートされる符号位置は以下のどれかの Unicode を特性を持つものだけです: +Pattern_Syntax, Pattern_White_Space, White_Space, +Default_Ignorable_Code_Point, or General_Category=Control。 =begin original @@ -11440,12 +11437,10 @@ =end original -Of these properties, the two important ones are Pattern_Syntax and -Pattern_White_Space. They have been set up by Unicode for exactly this -purpose of deciding which characters in a regular expression pattern -should be quoted. No character that can be in an identifier has these -properties. -(TBT) +これらの特性の中で、重要な二つは Pattern_Syntax と Pattern_White_Space です。 +これらはまさに正規表現中パターン中のどの文字をクォートするべきかを +決定するという目的のために Unicode によって設定されています。 +識別子になる文字はこれらの特性はありません。 =begin original @@ -11459,14 +11454,12 @@ =end original -Perl promises, that if we ever add regular expression pattern -metacharacters to the dozen already defined -(C<\ E<verbar> ( ) [ { ^ $ * + ? .>), that we will only use ones that have the -Pattern_Syntax property. Perl also promises, that if we ever add -characters that are considered to be white space in regular expressions -(currently mostly affected by C</x>), they will all have the -Pattern_White_Space property. -(TBT) +Perl は、正規表現メタ文字として既に定義されている +(C<\ E<verbar> ( ) [ { ^ $ * + ? .>) ものに追加するときは、 +Pattern_Syntax 特性を持つものだけを使うことを約束します。 +Perl はまた、(現在の所ほとんどは C</x> よって影響される)正規表現中で空白と +考えられる文字に追加するときは、Pattern_White_Space 特性を +持つものであることを約束します。 =begin original @@ -11480,14 +11473,14 @@ =end original -Unicode promises that the set of code points that have these two -properties will never change, so something that is not quoted in v5.16 -will never need to be quoted in any future Perl release. (Not all the -code points that match Pattern_Syntax have actually had characters -assigned to them; so there is room to grow, but they are quoted -whether assigned or not. Perl, of course, would never use an -unassigned code point as an actual metacharacter.) -(TBT) +Unicode はこれら二つの特性を持つ符号位置の集合が決して変わらないことを +約束しているので、v5.16 でクォートされないものは将来の Perl リリースでも +クォートする必要はありません。 +(Pattern_Syntax にマッチングする全ての符号位置が実際に割り当てられている +文字を持っているわけではありません; したがって拡張する余地がありますが、 +割り当てられているかどうかに関わらずクォートされます。 +Perl はもちろん割り当てられていない符号位置を実際のメタ文字として使うことは +ありません。) =begin original @@ -11500,13 +11493,11 @@ =end original -Quoting characters that have the other 3 properties is done to enhance -the readability of the regular expression and not because they actually -need to be quoted for regular expression purposes (characters with the -White_Space property are likely to be indistinguishable on the page or -screen from those with the Pattern_White_Space property; and the other -two properties contain non-printing characters). -(TBT) +その他の 3 特性を持つ文字のクォートは正規表現の可読性を向上させるために +行われ、実際には正規表現の目的でクォートする必要があるからではありません +(White_Space 特性を持つ文字は表示上は Pattern_White_Space 特性を持つ文字と +おそらく区別が付かないでしょう; そして残りの +二つの特性は非表示文字を含んでいます). =item rand EXPR X<rand> X<random> @@ -12846,7 +12837,7 @@ このキーワードは、C<"say"> 機能が有効か、C<CORE::> が前置された場合にのみ 利用可能です; L<feature> を参照してください。 -あるいは、現在のスコープに C<use v5.10> 以降を含めてください。 +または、現在のスコープに C<use v5.10> 以降を含めてください。 =item scalar EXPR X<scalar> X<context> @@ -14129,7 +14120,7 @@ リスト要素へのエイリアスと同様です。 つまり、sort() で返されるリストの要素を(例えば、C<foreach> や C<map> や C<grep> で)変更すると、実際に元のリストの要素が変更されます。 -これはきれいなコードを書くことで普通は回避できます。 +これはきれいなコードを書くときには普通は回避されます。 =begin original @@ -14497,12 +14488,11 @@ =end original -Anything in EXPR that matches PATTERN is taken to be a separator -that separates the EXPR into substrings (called "I<fields>") that -do B<not> include the separator. +EXPR の中で PATTERN にマッチングするものは何でも EXPR を("I<fields>" と +呼ばれる)セパレータを B<含まない> 部分文字列に分割するための +セパレータとなります。 セパレータは一文字より長くてもよく、全く文字がなくてもよい(空文字列は ゼロ幅マッチングです)ということに注意してください。 -(TBT) =begin original @@ -14573,7 +14563,7 @@ PATTERN が C</^/> の場合、L<複数行修飾子|perlreref/OPERATORS> (C</^/m>) が使われたかのように扱われます; そうでなければほとんど -使えないからです。, since it +使えないからです。 =begin original @@ -14628,7 +14618,7 @@ 数です。 従って、LIMIT の値 C<1> は EXPR が最大 0 回分割されるということで、 最大で一つのフィールドを生成します (言い換えると、EXPR 全体の値です)。 - +例えば: print join(':', split(//, 'abc', 1)), "\n";