Kentaro Shirakata
argra****@users*****
2007年 8月 11日 (土) 01:52:38 JST
Index: docs/perl/5.6.1/perldiag.pod diff -u docs/perl/5.6.1/perldiag.pod:1.5 docs/perl/5.6.1/perldiag.pod:1.6 --- docs/perl/5.6.1/perldiag.pod:1.5 Thu Aug 9 01:30:00 2007 +++ docs/perl/5.6.1/perldiag.pod Sat Aug 11 01:52:38 2007 @@ -4210,6 +4210,8 @@ =end original +Perl thought it was reading UTF-16 encoded character data but while +doing it Perl met a malformed Unicode surrogate. =item %s matches null string many times @@ -4295,6 +4297,8 @@ =end original +(F) ダブルクォートされたコンテキストの中で、文字名リテラル C<\N{charname}> の +文法が間違っています。 =item Missing comma after first argument to %s function @@ -4319,6 +4323,8 @@ =end original +(W pipe) C<open(FH, "| command")> か C<open(FH, "command |")> の構文を +使っていますが、コマンドが指定されていないか空白です。 =item Missing name in "my sub" @@ -4329,6 +4335,8 @@ =end original +(F) 予約された文法である、レキシカルスコープのサブルーチンには +探すことの出来る名前が必要です。 =item Missing $ on loop variable @@ -4418,6 +4426,8 @@ =end original +Yet another way is to assign to a C<foreach> loop I<VAR> when I<VAR> +is aliased to a constant in the look I<LIST>: $x = 1; foreach my $n ($x, 2) { @@ -4548,6 +4558,8 @@ =end original +(F) レキシカルスコープのサブルーチンはまだ実装されていません。 +まだ試さないでください。 =item "my" variable %s can't be in a package @@ -4574,6 +4586,10 @@ =end original +(W once) Typographical errors often show up as unique variable names. +If you had a good reason for having a unique name, then just mention it +again somehow to suppress the message. The C<our> declaration is +provided for this purpose. =item Negative length @@ -4681,6 +4697,17 @@ =end original +One possible cause for this is that you expected to have imported a +constant to your name space with B<use> or B<import> while no such +importing took place, it may for example be that your operating system +does not support that particular constant. Hopefully you did use an +explicit import list for the constants you expect to see, please see +L<perlfunc/use> and L<perlfunc/import>. While an explicit import list +would probably have caught this error earlier it naturally does not +remedy the fact that your operating system still does not support that +constant. Maybe you have a typo in the constants of the symbol import +list of B<use> or B<import> or in the constant name at the line where +this error was triggered? =item No command into which to pipe on command line @@ -4692,6 +4719,9 @@ =end original +(F) An error peculiar to VMS. Perl handles its own command line +redirection, and found a '|' at the end of the command line, so it +doesn't know where you want to pipe the output from this command. =item No DB::DB routine defined @@ -4750,6 +4780,9 @@ =end original +(F) An error peculiar to VMS. Perl handles its own command line +redirection, and found a '2>' or a '2>>' on the command line, but can't +find the name of the file to which to write data destined for stderr. =item No input file after < on command line @@ -4761,6 +4794,10 @@ =end original +(F) VMS 特有のエラーです。 +Perl は独自にコマンドラインのリダイレクトを扱っていて、コマンドラインに +'<' を発見しましたが、stdin として読み込むためのファイル名が +見つかりませんでした。 =item No #! line @@ -4797,6 +4834,10 @@ =end original +(F) VMS 特有のエラーです。 +Perl は独自にコマンドラインのリダイレクトを扱っていて、コマンドラインの +最後に単独の '>' を発見したので、stdout をどこにリダイレクトしたいのかが +わかりませんでした。 =item No output file after > or >> on command line @@ -4808,6 +4849,10 @@ =end original +(F) VMS 特有のエラーです。 +Perl は独自にコマンドラインのリダイレクトを扱っていて、コマンドラインに +'>' や '>>' を発見しましたが、stdout を書き込むためのファイル名が +見つかりませんでした。 =item No package name allowed for variable %s in "our" @@ -4819,6 +4864,9 @@ =end original +(F) 完全修飾変数名は "our" 宣言では使えません; +なぜなら現在の動作ではほとんど意味がないからです。 +そのような文法は将来の拡張に予約されています。 =item No Perl script found in input @@ -4877,6 +4925,8 @@ =end original +(F) 指示されたコマンドラインオプションには引数が必須ですが、それが +指定されませんでした。 =item No such pipe open @@ -4888,6 +4938,10 @@ =end original +(P) VMS 特有のエラーです。 +内部ルーチンである my_pclose() が、開いていないパイプを閉じようとしました。 +これは開いていないファイルハンドルを閉じようとしたとしてもっと早くに +捕捉されるべきものです。 =item No such pseudo-hash field "%s" @@ -4899,6 +4953,10 @@ =end original +(F) 配列にハッシュとしてアクセスしようとしましたが、使われたフィールド名は +未定義です。 +インデックス 0 のハッシュは全ての有効なフィールド名が動作する配列 +インデックスにマッピングされるべきです。 =item No such pseudo-hash field "%s" in variable %s of type %s @@ -4911,6 +4969,10 @@ =end original +(F) You tried to access a field of a typed variable where the type does +not know about the field name. The field names are looked up in the +%FIELDS hash in the type package at compile time. The %FIELDS hash is +%usually set up with the 'fields' pragma. =item No such signal: SIG%s @@ -5099,6 +5161,9 @@ =end original +(A) You've accidentally run your script through the Bourne shell instead +of Perl. Check the #! line, or manually feed your script into Perl +yourself. =item no UTC offset information; assuming local time is UTC @@ -5112,6 +5177,11 @@ =end original +(S) A warning peculiar to VMS. Perl was unable to find the local +timezone offset, so it's assuming that local system time is equivalent +to UTC. If it's not, define the logical name +F<SYS$TIMEZONE_DIFFERENTIAL> to translate to the number of seconds which +need to be added to UTC to get local time. =item Null filename used @@ -5148,6 +5218,9 @@ =end original +(F) The first argument to formline must be a valid format picture +specification. It was found to be empty, which probably means you +supplied it an uninitialized value. See L<perlform>. =item Null realloc @@ -5191,6 +5264,11 @@ =end original +Perl はプログラム中での十進数の表現をおよそ 250 文字に制限しています。 +この制限を越えました。 +Perl の将来のバージョンではこの恣意的な制限は除去されるでしょう。 +それまでの間は、科学的な記述法("1_000_000" ではなく "1e6")を +使用してください。 =item Octal number in vector unsupported @@ -5202,6 +5280,9 @@ =end original +頭に C<0> の付いた数値は現在のところベクタとしては使えません。 +このような数値を 8 進数として解釈する機能は将来のバージョンで +対応されるでしょう。 =item Octal number > 037777777777 non-portable @@ -5213,6 +5294,9 @@ =end original +(W portable) 指定した 8 進数が 2**32-1 (4294967295) より大きいので、 +システム間で移植性がありません。 +移植性に関するさらなる考察については L<perlport> を参照してください。 =begin original @@ -5220,6 +5304,7 @@ =end original +移植性のあるコードの書き方についても L<perlport> を参照してください。 =item Odd number of arguments for overload::constant @@ -5230,6 +5315,8 @@ =end original +(W) 奇数の数の引数で overload::constant を呼び出しました。 +引数はペアになっている必要があります。 =item Odd number of elements in hash assignment @@ -5255,6 +5342,10 @@ =end original +(F) You tried to do a read/write/send/recv operation with an offset +pointing outside the buffer. This is difficult to imagine. The sole +exception to this is that C<sysread()>ing past the buffer will extend +the buffer and zero pad the new area. =item -%s on unopened filehandle %s @@ -5265,6 +5356,10 @@ =end original +(W unopened) 開いていないファイルハンドルに対してファイルテスト演算子を +使おうとしました。 +論理をチェックしてください。 +L<perlfunc/-X> も参照してください。 =item %s() on unopened %s %s @@ -5276,6 +5371,9 @@ =end original +(W unopened) An I/O operation was attempted on a filehandle that was +never initialized. You need to do an open(), a sysopen(), or a socket() +call, or call a constructor from the FileHandle package. =item oops: oopsAV @@ -5308,6 +5406,10 @@ =end original +(F) An attempt was made to perform an overloaded operation for which no +handler was defined. While some handlers can be autogenerated in terms +of other handlers, there is no default handler for any operation, unless +C<fallback> overloading key is specified to be true. See L<overload>. =item Operator or semicolon missing before %s @@ -5321,6 +5423,11 @@ =end original +(S ambiguous) You used a variable or subroutine call where the parser +was expecting an operator. The parser has assumed you really meant to +use an operator, but this is highly likely to be incorrect. For +example, if you say "*foo *foo" it will be interpreted as if you said +"*foo * 'foo'". =item "our" variable %s redeclared @@ -5331,6 +5438,8 @@ =end original +(W misc) 現在のレキシカルスコープで、既に同じ名前のグローバル変数を +宣言しているようです。 =item Out of memory! @@ -5357,6 +5466,10 @@ =end original +(F) The malloc() function returned 0, indicating there was insufficient +remaining memory (or virtual memory) to satisfy the request. However, +the request was judged large enough (compile-time default is 64K), so a +possibility to shut down by trapping this error is granted. =item Out of memory during request for %s @@ -5368,6 +5481,9 @@ =end original +(X|F) The malloc() function returned 0, indicating there was +insufficient remaining memory (or virtual memory) to satisfy the +request. =begin original @@ -5380,6 +5496,12 @@ =end original +The request was judged to be small, so the possibility to trap it +depends on the way perl was compiled. By default it is not trappable. +However, if compiled for this, Perl may use the contents of C<$^M> as an +emergency pool after die()ing with this message. In this case the error +is trappable I<once>, and the error message will include the line and file +where the failed request happened. =item Out of memory during ridiculously large request @@ -5391,6 +5513,9 @@ =end original +(F) You can't allocate more than 2^31+"small amount" bytes. This error +is most likely to be caused by a typo in the Perl program. e.g., +C<$arr[time]> instead of C<$arr[$time]>. =item Out of memory for yacc stack @@ -5415,7 +5540,7 @@ =end original (F) unpack される文字列の外に絶対位置指定している、 -テンプレートを指定しました。 +pack テンプレートを指定しました。 L<perlfunc/pack> を参照してください。 =item %s package attribute may clash with future reserved word: %s @@ -5429,6 +5554,10 @@ =end original +(W reserved) A lowercase attribute name was used that had a +package-specific handler. That name might have a meaning to Perl itself +some day, even though it doesn't yet. Perhaps you should use a +mixed-case attribute name, instead. See L<attributes>. =item page overflow @@ -5451,6 +5580,7 @@ =end original +(P) 内部エラーです。 =item panic: ck_grep @@ -5495,6 +5625,8 @@ =end original +(P) 弱いリファレンスをリセットしようとしたときに内部の +一貫性チェックに引っ掛かりました。 =item panic: die %s @@ -5552,6 +5684,7 @@ =end original +(P) ライブラリ関数 frexp() が失敗したので、printf("%f") ができません。 =item panic: goto @@ -5594,6 +5727,7 @@ =end original +(F) fork した子プロセスが errno に関して不完全なメッセージを返しました。 =item panic: last @@ -5640,6 +5774,8 @@ =end original +(P) あるオブジェクトへの全ての弱い参照をリセットしようとした時に内部の +一貫性チェックに引っ掛かりました。 =item panic: malloc @@ -5855,6 +5991,8 @@ =end original +(P) 何かが(偶数ではなく)奇数のバイト長で utf16_to_utf8 を +呼び出そうとしました。 =item Parentheses missing around "%s" list @@ -5898,7 +6036,7 @@ (F) 問題のモジュールは、現在実行中の Perl よりも最近のバージョンの 機能を使っています。 -ところで、どのくらいアップグレードしていないのですか。 +ところで、いつからアップグレードしていないのですか? L<perlfunc/require> を参照してください。 =item PERL_SH_DIR too long @@ -5910,6 +6048,8 @@ =end original +(F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find the +C<sh>-shell in. See "PERL_SH_DIR" in L<perlos2>. =item perl: warning: Setting locale failed. @@ -5943,6 +6083,16 @@ =end original +Exactly what were the failed locale settings varies. In the above the +settings were that the LC_ALL was "En_US" and the LANG had no value. +This error means that Perl detected that you and/or your operating +system supplier and/or system administrator have set up the so-called +locale system but Perl could not use those settings. This was not +dead serious, fortunately: there is a "default locale" called "C" that +Perl can and will use, the script will be run. Before you really fix +the problem, however, you will get the same error message each time +you run Perl. How to really fix the problem can be found in +L<perllocale> section B<LOCALE PROBLEMS>. =item Permission denied @@ -5965,6 +6115,9 @@ =end original +(W exec) A warning peculiar to VMS. Waitpid() was asked to wait for a +process which isn't a subprocess of the current process. While this is +fine from VMS' perspective, it's probably not what you intended. =item POSIX syntax [%s] belongs inside character classes @@ -5978,6 +6131,11 @@ =end original +(W regexp) 例えば /[012[:alpha:]345]/ のように、文字クラス構造 [: :], [= =], +[. .] が文字クラスの I<内側> にあり、[] は構造の一部です。 +[= =] と [. .] は現在のところ実装されていないことに注意してください; +これらは単に将来の拡張のためのプレースホルダであり、致命的エラーを +生成します。 =item POSIX syntax [. .] is reserved for future extensions @@ -5991,6 +6149,11 @@ =end original +(F regexp) 正規表現文字クラス ([]) の中では、"[." で始まる文法と ".]" で +終わる文法は将来の拡張のために予約されます。 +正規表現文字クラスの中でこのような文字シーケンスを表現する必要がある +場合には、"\[." と ".\]" のように、大かっこをバックスラッシュで +クォートしてください。 =item POSIX syntax [= =] is reserved for future extensions @@ -6004,6 +6167,11 @@ =end original +(F) 正規表現文字クラス ([]) の中では、"[=" で始まる文法と "=]" で +終わる文法は将来の拡張のために予約されます。 +正規表現文字クラスの中でこのような文字シーケンスを表現する必要がある +場合には、"\[=" と "=\]" のように、大かっこをバックスラッシュで +クォートしてください。 =item POSIX class [:%s:] unknown @@ -6014,6 +6182,8 @@ =end original +(F) 文字クラス [: :] 文法の中のクラスは不明です。 +L<perlre> を参照してください。 =item POSIX getpgrp can't take an argument @@ -6038,6 +6208,10 @@ =end original +(W qw) qw() lists contain items separated by whitespace; as with literal +strings, comment characters are not ignored, but are instead treated as +literal data. (You may have used different delimiters than the +parentheses shown here; braces are also frequently used.) =begin original @@ -6144,6 +6318,8 @@ =end original +(W y2k) You are concatenating the number 19 with another number, which +could be a potential Year 2000 problem. =item pragma "attrs" is deprecated, use "sub NAME : ATTRS" instead @@ -6179,6 +6355,9 @@ =end original +C<use attrs> プラグマはもう古いもので、後方互換性のためだけに +提供されています。 +L<perlsub/"Subroutine Attributes"> を参照してください。 =item Precedence problem: open %s should be open(%s) @@ -6188,7 +6367,7 @@ =end original -(S) 古い変則的な構文 +(S precedence) 古い変則的な構文 open FOO || die; @@ -6237,7 +6416,7 @@ =end original (W closed) 書き込みを行なおうとしたファイルハンドルは、既にクローズされています。 -ロジックの流れをチェックしてください。 +論理フローをチェックしてください。 =item print() on closed filehandle %s @@ -6249,7 +6428,7 @@ =end original (W closed) print を行なおうとしたファイルハンドルは、既にクローズされています。 -ロジックの流れをチェックしてください。 +論理フローをチェックしてください。 =item Process terminated by SIG%s @@ -6263,6 +6442,11 @@ =end original +(W) This is a standard message issued by OS/2 applications, while *nix +applications die in silence. It is considered a feature of the OS/2 +port. One can easily disable this by appropriate sighandlers, see +L<perlipc/"Signals">. See also "Process terminated by SIGTERM/SIGINT" +in L<perlos2>. =item Prototype mismatch: %s vs %s @@ -6273,6 +6457,8 @@ =end original +(S unsafe) 以前異なる関数プロトタイプで宣言または定義されたサブルーチンが +宣言または定義されました。 =item Quantifier in {,} bigger than %d before << HERE in regex m/%s/ @@ -6284,6 +6470,9 @@ =end original +現在のところ、{min,max} 構造の最大値と最小値には制限があります。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 +L<perlre> を参照してください。 =item Quantifier unexpected on zero-length expression before << HERE %s @@ -6297,6 +6486,11 @@ =end original +(W regexp) You applied a regular expression quantifier in a place where +it makes no sense, such as on a zero-width assertion. Try putting the +quantifier inside the assertion instead. For example, the way to match +"abc" provided that it is followed by three repetitions of "xyz" is +C</abc(?=(?:xyz){3})/>, not C</abc(?=xyz){3}/>. =item Range iterator outside integer range @@ -6309,6 +6503,10 @@ =end original +(F) One (or both) of the numeric arguments to the range operator ".." +are outside the range which can be represented by integers internally. +One possible workaround is to force Perl to use magical string increment +by prepending "0" to your numbers. =item readline() on closed filehandle %s @@ -6320,7 +6518,7 @@ =end original (W closed) 読み込みを行なおうとしたファイルハンドルは、既にクローズされています。 -ロジックの流れをチェックしてください。 +論理フローをチェックしてください。 =item Reallocation too large: %lx @@ -6341,6 +6539,8 @@ =end original +内部ルーチンが、何か既に解放されているものに対して realloc() を +呼び出しました。 =item Recompile perl with B<-D>DEBUGGING to use B<-D> switch @@ -6380,6 +6580,9 @@ =end original +(F) メソッドの起動中に 100 レベル以上の継承が行なわれました。 +おそらく、継承階層の中で、予想外のループになっている部分があるものと +思われます。 =item Reference found where even-sized list expected @@ -6392,6 +6595,10 @@ =end original +(W misc) You gave a single reference where Perl was expecting a list +with an even number of elements (for assignment to a hash). This usually +means that you used the anon hash constructor when you meant to use +parens. In any case, a hash requires key/value B<pairs>. %hash = { one => 1, two => 2, }; # WRONG %hash = [ qw/ an anon array / ]; # WRONG @@ -6407,6 +6614,8 @@ =end original +(W misc) 既に弱いリファレンスを弱めようとしました。 +そうしても何の効果もありません。 =item Reference miscount in sv_replace() @@ -6612,10 +6821,10 @@ =end original -(P) Something went wrong in Perl's internal bookkeeping of scalars: -not all scalar variables were deallocated by the time Perl exited. -What this usually indicates is a memory leak, which is of course bad, -especially if the Perl program is intended to be long-running. +(P) Perl 内部のスカラ管理で何かがおかしくなりました: +Perl 終了時に全てのスカラ変数が解放されませんでした。 +これは普通メモリリークを示していて、これはもちろん悪いことですが、 +Perl プログラムが長い間動作する場合には特にそうです。 =item Script is not setuid/setgid in suidperl @@ -6710,7 +6919,7 @@ =end original (W closed) 送信を行なおうとしたソケットは、既にクローズされています。 -ロジックの流れをチェックしてください。 +論理フローをチェックしてください。 =item Sequence (? incomplete before << HERE mark in regex m/%s/ @@ -7218,6 +7427,8 @@ =end original +<< HERE で正規表現のどこに問題が発見されたかを示しています。 +L<perlre> を参照してください。 =item Switch condition not recognized before << HERE in regex m/%s/ @@ -7229,6 +7440,9 @@ =end original +(?(...)if-clause|else-clause) 構造の引数が数値なら、数値だけが可能です。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 +L<perlre> を参照してください。 =item switching effective %s is not implemented @@ -7347,7 +7561,7 @@ (W closed) 書き込みを行なおうとしたファイルハンドルは、 既にクローズされています。 -ロジックの流れをチェックしてください。 +論理フローをチェックしてください。 =item Target of goto is too deeply nested @@ -7603,6 +7817,8 @@ (A) スクリプトを perl ではなく B<csh> で実行しようとしました。 #! 行をチェックするか、スクリプトを直接 Perl で起動してください。 +=item Too many ('s + =item trailing \ in regexp =begin original @@ -7893,11 +8109,11 @@ =end original -(F) The condition of a (?(condition)if-clause|else-clause) construct is not -known. The condition may be lookaround (the condition is true if the -lookaround is true), a (?{...}) construct (the condition is true if the -code evaluates to a true value), or a number (the condition is true if the -set of capturing parentheses named by the number is defined). +(F) (?(condition)if-clause|else-clause) 構文の条件が不明です。 +条件は参照 (参照が真なら条件は真)、 +(?{...}) 構文 (コードが真の値に評価されれば真)、 +数値 (番号付けされた、捕捉されたかっこの集合が定義されていれば真) の +いずれかです。 =begin original @@ -7952,10 +8168,11 @@ =end original -(F) The brackets around a character class must match. If you wish to -include a closing bracket in a character class, backslash it or put it -first. See L<perlre>. The << HERE shows in the regular expression about -where the escape was discovered. +(F) 文字クラスの周りの大かっこが一致していません。 +文字クラスに閉じ大かっこを含めたい場合は、バックスラッシュをつけるか +先頭に置いてください。 +L<perlre> を参照してください。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 =item unmatched ( in regexp before << HERE mark in regex m/%s/ @@ -7967,9 +8184,10 @@ =end original -(F) Unbackslashed parentheses must always be balanced in regular -expressions. If you're a vi user, the % key is valuable for finding the -matching parenthesis. See L<perlre>. +(F) 正規表現の中ではバックスラッシュのついていないかっこは常に +対応していなければなりません。 +vi ユーザーであれば、% キーが対応するかっこの発見に有用です。 +L<perlre> を参照してください。 =item Unmatched right %s bracket @@ -8044,11 +8262,12 @@ =end original -(W regexp) You used a backslash-character combination which is not -recognized by Perl. This combination appears in an interpolated variable or -a C<'>-delimited regular expression. The character was understood -literally. The << HERE shows in the regular expression about where the escape -was discovered. +(W regexp) Perl が認識できない、バックスラッシュ-文字の組み合わせが +使われています。 +この組み合わせは展開された変数の中か、C<'>-デリミタの正規表現で +出現します。 +この文字はリテラルに処理されます。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 =item Unrecognized escape \\%c passed through @@ -8160,8 +8379,8 @@ =end original -(F) Your program file begins with a Unicode Byte Order Mark (BOM) which -declares it to be in a Unicode encoding that Perl cannot yet read. +(F) プログラムファイルが、Perl が読み込めない Unicode エンコーディングを +宣言する Unicode Byte Order Mark (BOM) で始まっています。 =item Unsupported socket function "%s" called @@ -8480,7 +8699,8 @@ =end original (D deprecated) これは、貧相な awk の機能をエミュレートしようとする -ものでした。 代わりに、明示的に printf() や sprintf() を使ってください。 +ものでした。 +代わりに、明示的に printf() や sprintf() を使ってください。 =item Use of reserved word "%s" is deprecated @@ -8739,9 +8959,8 @@ =end original -(F) Lookbehind is allowed only for subexpressions whose length is fixed and -known at compile time. The << HERE shows in the regular expression about where -the problem was discovered. +(F) 後方参照は長さが固定で、コンパイル時に確定している副式に対してのみ可能です。 +<< HERE で正規表現のどこに問題が発見されたかを示しています。 =item Version number must be a constant number @@ -8837,7 +9056,7 @@ =end original -Perl が(想定していないところで)ワイド文字(>255)に遭遇しました。 +(F) Perl が(想定していないところで)ワイド文字(>255)に遭遇しました。 =item write() on closed filehandle %s @@ -8849,7 +9068,7 @@ =end original (W) 書き込みを行なおうとしたファイルハンドルは、既にクローズされています。 -ロジックの流れをチェックしてください。 +論理フローをチェックしてください。 =item X outside of string @@ -8913,7 +9132,8 @@ (F) ファイルはオープンされたファイルを表わすものであり、 ファイルをオープンしたときには、探しているシンボリックリンクは、 -既に通り過ぎた後です。 代わりにファイル名を使ってください。 +既に通り過ぎた後です。 +代わりにファイル名を使ってください。 =item YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!