argra****@users*****
argra****@users*****
2017年 3月 15日 (水) 22:58:40 JST
Index: docs/perl/5.20.1/perldiag.pod diff -u docs/perl/5.20.1/perldiag.pod:1.5 docs/perl/5.20.1/perldiag.pod:1.6 --- docs/perl/5.20.1/perldiag.pod:1.5 Wed Mar 16 18:38:32 2016 +++ docs/perl/5.20.1/perldiag.pod Wed Mar 15 22:58:39 2017 @@ -550,10 +550,9 @@ =end original -(F) You wrote C<bless $foo> with one argument after somehow causing -the current package to be freed. Perl cannot figure out what to -do, so it throws up in hands in despair. -(TBT) +(F) 現在のパッケージが解放されるような何かが起きた後で 1 引数の +C<bless $foo> を書きました。 +何がしたいのかが分からないので Perl はお手上げになりました。 =item Attempt to bless into a reference @@ -812,10 +811,10 @@ =end original -(W misc) A sub was declared as sub foo : prototype(A) : prototype(B) {}, for -example. Since each sub can only have one prototype, the earlier -declaration(s) are discarded while the last one is applied. -(TBT) +(W misc) あるサブルーチンが、例えば +sub foo : prototype(A) : prototype(B) {} のように宣言されました。 +それぞれのサブルーチンは一つのプロトタイプしか持てないので、先に +宣言されたものは破棄され、最後のものが適用されます。 =item Attribute "unique" is deprecated @@ -3787,10 +3786,9 @@ =end original -(F) You used index/value array slice syntax (C<%array[...]>) as -the argument to C<delete>. You probably meant C<@array[...]> with -an @ symbol instead. -(TBT) +(F) インデックス/値配列スライス文法 (C<%array[...]>) を、C<delete> への +引数として使いました。 +おそらく @ シンボルを使って C<@array[...]> としたかったのでしょう。 =item delete argument is key/value hash slice, use hash slice @@ -4491,15 +4489,14 @@ =end original -(F) The C<(?[...])> extended character class regular expression construct -only allows character classes (including character class escapes like -C<\d>), operators, and parentheses. The one exception is C<(?flags:...)> -containing at least one flag and exactly one C<(?[...])> construct. -This allows a regular expression containing just C<(?[...])> to be -interpolated. If you see this error message, then you probably -have some other C<(?...)> construct inside your character class. See -L<perlrecharclass/Extended Bracketed Character Classes>. -(TBT) +(F) C<(?[...])> 拡張文字クラス正規表現構文には、(C<\d> のような +文字クラスエスケープを含む) 文字クラス、演算子、かっこのみが許されます。 +一つの例外は正確に一つだけのフラグと一つだけの C<(?[...])> を含む +C<(?flags:...)> です。 +これにより C<(?[...])> だけを含む正規表現を変数展開できるようになります。 +このエラーメッセージが表示された時は、おそらく文字クラスの中に他の +C<(?...)> 構文が含まれています。 +L<perlrecharclass/Extended Bracketed Character Classes> を参照してください。 =item Experimental subroutine signatures not enabled @@ -5540,11 +5537,10 @@ (% で示される)配列インデックス/値スライスを使いました。 一般的には($ で示される)スカラ値を取得した方がよいです。 違いは、C<$foo[&bar]> は返り値と引数を評価したときの両方で常にスカラのように -振る舞いますが、C<%foo[&bar]> provides -a list context to its subscript, which can do weird things if you're -expecting only one subscript. When called in list context, it also -returns the index (what C<&bar> returns) in addition to the value. -(TBT) +振る舞いますが、C<%foo[&bar]> は添え字にリストコンテキストを提供するので、 +一つだけの添え字を想定していた場合、おかしなことになることがあります。 +リストコンテキストで呼び出された場合、値に加えてインデックス +(C<&bar> が返すもの) を返します。 =item %%s{%s} in scalar context better written as $%s{%s} @@ -5561,15 +5557,13 @@ =end original -(W syntax) In scalar context, you've used a hash key/value slice -(indicated by %) to select a single element of a hash. Generally it's -better to ask for a scalar value (indicated by $). The difference -is that C<$foo{&bar}> always behaves like a scalar, both in the value -it returns and when evaluating its argument, while C<@foo{&bar}> and -provides a list context to its subscript, which can do weird things -if you're expecting only one subscript. When called in list context, -it also returns the key in addition to the value. -(TBT) +(W syntax) スカラコンテキストで、ハッシュの単一の要素を選択するために +(% で示される)ハッシュキー/値スライスを使いました。 +一般的には($ で示される)スカラ値を取得した方がよいです。 +違いは、C<$foo[&bar]> は返り値と引数を評価したときの両方で常にスカラのように +振る舞いますが、C<%foo[&bar]> は添え字にリストコンテキストを提供するので、 +一つだけの添え字を想定していた場合、おかしなことになることがあります。 +リストコンテキストで呼び出された場合、値に加えてインデックスを返します。 =item Insecure dependency in %s @@ -6746,10 +6740,9 @@ 関数プロトタイプの構文は、不正な文字のようなありふれたエラーについては コンパイル時にチェックされます。 より厳密なチェックは、関数が呼び出された時に実行されます。 -Perhaps the function's author was trying to write a subroutine signature -but didn't enable that feature first (C<use feature 'signatures'>), -so the signature was instead interpreted as a bad prototype. -(TBT) +おそらく関数の作者はサブルーチンシグネチャを書こうとしたけれども、 +先にこの機能を有効にしなかった (C<use feature 'signatures'>) ので、 +シグネチャは間違ったプロトタイプとして解釈されました。 =item Malformed UTF-8 character (%s) @@ -6886,13 +6879,12 @@ =end original -(F) In a subroutine signature, you wrote something like "$a = undef, -$b", making an earlier parameter optional and a later one mandatory. -Parameters are filled from left to right, so it's impossible for the -caller to omit an earlier one and pass a later one. If you want to act -as if the parameters are filled from right to left, declare the rightmost -optional and then shuffle the parameters around in the subroutine's body. -(TBT) +(F) サブルーチンシグネチャで、"$a = undef, $b" のような、先の引数が +オプションで後の引数が必須のようなものを書きました。 +引数は左から右に埋められるので、呼び出し側が先のものを省略して後のものに +渡すことは不可能です。 +引数が右から左に埋められるかのように振る舞ってほしい場合は、一番右を +オプションと宣言して、引数をサブルーチン本体で入れ替えてください。 =item Matched non-Unicode code point 0x%X against Unicode property; may not be portable @@ -6914,21 +6906,20 @@ =end original -(S non_unicode) Perl allows strings to contain a superset of -Unicode code points; each code point may be as large as what is storable -in an unsigned integer on your system, but these may not be accepted by -other languages/systems. This message occurs when you matched a string -containing such a code point against a regular expression pattern, and -the code point was matched against a Unicode property, C<\p{...}> or -C<\P{...}>. +(S non_unicode) Perl は文字列に Unicode 符号位置の上位集合を +含むことができます; それぞれの符号位置はシステムの符号なし整数に +格納できるだけの大きさを指定できますが、これらは他の言語/システムでは +受け付けられないかも知れません。 +このメッセージは、このような符号位置を含む文字列をある正規表現パターンで +マッチングし、符号位置が Unicode 特性 C<\p{...}> または C<\P{...}> と +マッチングしたときに発生します。 Unicode 特性は Unicode 符号位置に対してのみ定義されているので、 Unicode によればこのマッチングの結果は未定義ですが、 -but Perl (starting -in v5.20) treats non-Unicode code points as if they were typical -unassigned Unicode ones, and matched this one accordingly. Whether a -given property matches these code points or not is specified in -L<perluniprops/Properties accessible through \p{} and \P{}>. -(TBT) +Perl は (v5.20 から) 非 Unicode 符号位置を、典型的な未割り当て +Unicode 符号位置として扱い、それぞれマッチングします。 +指定された特性がこれらの符号位置にマッチングするかどうかは +L<perluniprops/Properties accessible through \p{} and \P{}> で +指定されています。 =begin original @@ -6941,13 +6932,13 @@ =end original -This message is suppressed (unless it has been made fatal) if it is -immaterial to the results of the match if the code point is Unicode or -not. For example, the property C<\p{ASCII_Hex_Digit}> only can match -the 22 characters C<[0-9A-Fa-f]>, so obviously all other code points, -Unicode or not, won't match it. (And C<\P{ASCII_Hex_Digit}> will match -every code point except these 22.) -(TBT) +このメッセージは、符号位置が Unicode かどうかがマッチングの結果に関係ない +場合は、(致命的にしていない限り)抑制されます。 +例えば、特性 C<\p{ASCII_Hex_Digit}> は 22 文字 C<[0-9A-Fa-f]> だけに +マッチングするので、明らかに他の符号位置は、Unicode かどうかに関わらず、 +マッチングしません。 +(そして C<\P{ASCII_Hex_Digit}> はこれら 22 以外の全ての符号位置に +マッチングします。) =begin original @@ -6959,12 +6950,11 @@ =end original -Getting this message indicates that the outcome of the match arguably -should have been the opposite of what actually happened. If you think -that is the case, you may wish to make the C<non_unicode> warnings -category fatal; if you agree with Perl's decision, you may wish to turn -off this category. -(TBT) +このメッセージが出たということは、マッチングの結果はおそらく実際に起きた結果と +逆になっているはずだということを示しています。 +これに当てはまっていると考えられる場合は、C<non_unicode> 警告カテゴリを +致命的にした方がよいでしょう; Perl の結果に同意する場合は、このカテゴリを +オフにした方がよいでしょう。 =begin original @@ -7776,14 +7766,13 @@ =end original -(F) Named Unicode character escapes C<(\N{...})> may return a -multi-character sequence. Such an escape may not be used in -a character class, because character classes always match one -character of input. +(F) 名前付き Unicode 文字エスケープ C<(\N{...})> は複数文字並びを +返すことがあります。 +このようなエスケープは文字クラスの中では使えません; 文字クラスは常に +入力のうちの一文字にマッチングするからです。 正しいエスケープを使っているか、および正しい文字名ハンドラがスコープ内に あるかをチェックしてください。 S<<-- HERE> で正規表現のどこに問題が発見されたかを示しています。 -(TBT) =item \N{NAME} must be resolved by the lexer in regex; marked by S<<-- HERE> in m/%s/ @@ -8604,13 +8593,12 @@ =end original -(F) A subroutine using a slurpy hash parameter in its signature -received an odd number of arguments to populate the hash. It requires -the arguments to be paired, with the same number of keys as values. -The caller of the subroutine is presumably at fault. +(F) シグネチャで吸い込みハッシュ引数を使っているサブルーチンが、 +ハッシュに展開するために奇数の数の引数を受け取りました。 +引数は、同じ数のキーと値のペアになっていることが必要です。 +サブルーチンの呼び出しものがおそらく間違えているのでしょう。 不便なことに、このエラーは呼び出し元ではなく、サブルーチンの位置で 報告されます。 -(TBT) =item Odd number of arguments for overload::constant @@ -8894,11 +8882,11 @@ =end original -(F) In a subroutine signature, you wrote something like "$a =", making a -named optional parameter without a default value. A nameless optional -parameter is permitted to have no default value, but a named one must -have a specific default. You probably want "$a = undef". -(TBT) +(F) サブルーチンシグネチャで、"$a =" のような、デフォルト値のない名前付き +オプション引数を書きました。 +無名オプション引数はデフォルト値を持たないことを許されていますが、 +名前付きのものはデフォルトを指定しなければなりません。 +おそらく "$a = undef" としたかったのでしょう。 =item "our" variable %s redeclared @@ -10580,11 +10568,10 @@ =end original -(W prototype) A prototype was declared in both the parentheses after -the sub name and via the prototype attribute. The prototype in -parentheses is useless, since it will be replaced by the prototype -from the attribute before it's ever used. -(TBT) +(W prototype) サブルーチン名の後のかっことプロトタイプ属性の両方で +プロトタイプが宣言されました。 +先に宣言されていたプロトタイプは属性で置き換えられるので、かっこ内の +プロトタイプは無駄です。 =item \p{} uses Unicode rules, not locale rules @@ -14472,10 +14459,10 @@ =end original -The C<"?"> and C<"+"> don't have any effect, as they modify whether to -match more or fewer when there is a choice, and by specifying to match -exactly a given numer, there is no room left for a choice. -(TBT) +C<"?"> と C<"+"> は何の効果もありません; これはマッチングする数に幅がある時に +より多くまたは少なく変更します。 +そして指定された数に正確にマッチングすることを指定されているので、 +選択の余地はありません。 =item Useless use of %s in void context @@ -14943,11 +14930,10 @@ =end original -(D deprecated) Using literal control characters in the source to refer -to the ^FOO variables, like C<$^X> and C<${^GLOBAL_PHASE}> is now -deprecated. This only affects code like C<$\cT>, where \cT is a control in -the source code: C<${"\cT"}> and C<$^T> remain valid. -(TBT) +(D deprecated) C<$^X> and C<${^GLOBAL_PHASE}> のような ^FOO 変数を +参照するためにソース中にリテラル名制御文字を使うのは、廃止予定になりました。 +これは C<$\cT> のようなコード (ここで \cT はソースコード中の制御文字) にのみ +影響します: C<${"\cT"}> や C<$^T> は有効なままです。 =item Use of -l on filehandle%s @@ -15429,19 +15415,19 @@ =end original -There are non-obvious Unicode rules under C</i> that can match variably, -but which you might not think could. +C</i> の基では、おそらくあなたが考えていないような種類のものに +マッチングするという、明確でない Unicode の規則があります。 例えば、部分文字列 C<"ss"> は単一文字 LATIN SMALL LETTER SHARP S に マッチングします。 ASCII 文字並びが単一の合字にマッチングするパターンとしては、 LATIN SMALL LIGATURE FFI が C<qr/ffi/i> にマッチングするといったものが あります。 -Starting in Perl v5.16, if you only care about ASCII matches, adding the -C</aa> modifier to the regex will exclude all these non-obvious matches, -thus getting rid of this message. You can also say C<S<use re qw(/aa)>> -to apply C</aa> to all regular expressions compiled within its scope. -See L<re>. -(TBT) +Perl v5.16 から、もし ASCII のマッチングにだけ関心があるのなら、 +正規表現に C</aa> を追加することでこれらの明確でないマッチングを全て +除くことができるので、このメッセージを避けられます。 +また、C<S<use re qw(/aa)>> とすることで、スコープ内でコンパイルされた全ての +正規表現に対して C</aa> を適用します。 +L<re> を参照してください。 =item "%s" variable %s masks earlier declaration in same %s @@ -15853,7 +15839,7 @@ Translate: 吉村 寿人 <JAE00****@nifty*****> (5.000) Update: SHIRAKATA Kentaro <argra****@ub32*****> (5.6.1-) -Status: in progress +Status: completed =end meta