argra****@users*****
argra****@users*****
2007年 11月 8日 (木) 05:25:42 JST
Index: docs/perl/5.6.1/perldiag.pod diff -u docs/perl/5.6.1/perldiag.pod:1.10 docs/perl/5.6.1/perldiag.pod:1.11 --- docs/perl/5.6.1/perldiag.pod:1.10 Thu Nov 1 20:06:30 2007 +++ docs/perl/5.6.1/perldiag.pod Thu Nov 8 05:25:42 2007 @@ -979,14 +979,15 @@ =end original -(W prototype) You've called a function that has a prototype before the -parser saw a definition or declaration for it, and Perl could not check -that the call conforms to the prototype. You need to either add an -early prototype declaration for the subroutine in question, or move the -subroutine definition ahead of the call to get proper prototype -checking. Alternatively, if you are certain that you're calling the -function correctly, you may put an ampersand before the name to avoid -the warning. See L<perlsub>. +(W prototype) 以前にパーサが宣言または定義されているのを見た、 +プロトタイプ付きの関数を呼び出しましたが、Perl は呼び出しがプロトタイプに +従っているかどうかをチェックできませんでした。 +問題になっているサブルーチンのプロトタイプ宣言を最初の方に追加するか、 +適切なプロトタイプチェックを行うためにサブルーチン定義を呼び出しの前に +移動させる必要があります。 +または、関数を正しく呼び出していることが確かな場合は、名前の前に +アンパサンドを付けることで警告を回避できます。 +L<perlsub> を参照してください。 =item / cannot take a count @@ -1556,6 +1557,7 @@ routine knows about the Perl C<stat> operator and file tests, so you shouldn't ever see this warning in response to a Perl command; it arises only if some internal code takes stat buffers lightly.) +(TBT) =item Can't get pipe mailbox device name @@ -2545,6 +2547,7 @@ in the regular expression engine; or rewriting the regular expression so that it is simpler or backtracks less. (See L<perlfaq2> for information on I<Mastering Regular Expressions>.) +(TBT) =item connect() on closed socket %s @@ -3470,6 +3473,7 @@ empty (except that C<d_csh> should be C<'undef'>) so that Perl will think csh is missing. In either case, after editing config.sh, run C<./Configure -S> and rebuild Perl. +(TBT) =item Glob not terminated @@ -3854,15 +3858,14 @@ =end original -(W overflow) The hexadecimal, octal or binary number you have specified -either as a literal or as an argument to hex() or oct() is too big for -your architecture, and has been converted to a floating point number. -On a 32-bit architecture the largest hexadecimal, octal or binary number -representable without overflow is 0xFFFFFFFF, 037777777777, or -0b11111111111111111111111111111111 respectively. Note that Perl -transparently promotes all numbers to a floating point representation -internally--subject to loss of precision errors in subsequent -operations. +(W overflow) リテラルまたは hex() や oct() の引数として指定された 16 進、 +8 進、2 進数は実行しているアーキテクチャには大きすぎるので、浮動小数点数に +変換されました。 +32 ビットアーキテクチャでは、オーバーフローせずに表現できる 16 進、8 進 +2 進数はそれぞれ 0xFFFFFFFF, 037777777777, +0b11111111111111111111111111111111 です。 +Perl は全ての数値を内部では浮動小数点表現に透過的に変換することに +注意してください -- 引き続く操作によって精度が失われることがあります。 =item Internal disaster before << HERE in regex m/%s/ @@ -3896,6 +3899,7 @@ L<perlvms/"exec LIST">). Somehow, this count has become scrambled, so Perl is making a guess and treating this C<exec> as a request to terminate the Perl script and execute the specified command. +(TBT) =item Internal urp before << HERE in regex m/%s/ @@ -4732,6 +4736,7 @@ 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? +(TBT) =item No command into which to pipe on command line @@ -5524,12 +5529,13 @@ =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. +要求は小さいものと判定されたので、これをトラップできる確率は perl が +どのようにコンパイルされたかに依存します。 +デフォルトではこれはトラップできません。 +しかし、もしこのためにコンパイルすると、Perl はこのメッセージと共に +die() した後の非常用エリアとして C<$^M> の内容を使います。 +この場合エラーは I<一度だけ> トラップ可能で、エラーメッセージは失敗した +要求が起きたファイルと行番号を含んでいます。 =item Out of memory during ridiculously large request @@ -6122,6 +6128,7 @@ 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>. +(TBT) =item Permission denied @@ -7072,12 +7079,11 @@ =end original -You need to make sure your script is executable, is accessible by the -user CGI is running the script under (which is probably not the user -account you tested it under), does not rely on any environment variables -(like PATH) from the user it isn't running under, and isn't in a -location where the CGI server can't find it, basically, more or less. -Please see the following for more information: +まずはあなたのスクリプトが実行可能か、CGI を実行するユーザー(これはおそらく +あなたがテストしたユーザーではありません)で読み込み可能か、実行しているのとは +異なるユーザーの環境変数(PATH など)に依存していないか、CGI サーバーが +見つけられない場所に置いていないか、といったことを確認する必要があるでしょう。 +さらなる情報については以下を参照してください。 http://www.perl.com/CPAN/doc/FAQs/cgi/idiots-guide.html http://www.perl.com/CPAN/doc/FAQs/cgi/perl-cgi-faq.html @@ -7717,13 +7723,12 @@ =end original -(W internal) Warnings peculiar to VMS. You tried to change or delete an -element of the CRTL's internal environ array, but your copy of Perl -wasn't built with a CRTL that contained the setenv() function. You'll -need to rebuild Perl with a CRTL that does, or redefine -F<PERL_ENV_TABLES> (see L<perlvms>) so that the environ array isn't the -target of the change to -%ENV which produced the warning. +(W internal) VMS 固有の警告です。 +CRTL の内部環境配列を変更または削除しようとしましたが、この Perl は +setenv() 関数を含んだ CRTL でビルドされていません。 +これを含む CRTL を使って Perl を再ビルドするか、環境配列がこの警告を +出力している %ENV を変更するターゲットとならないように +F<PERL_ENV_TABLES> (L<perlvms> を参照してください) を再定義してください。 =item times not implemented @@ -8763,12 +8768,12 @@ =end original -(D deprecated) The indicated bareword is a reserved word. Future -versions of perl may use it as a keyword, so you're better off either -explicitly quoting the word in a manner appropriate for its context of -use, or using a different name altogether. The warning can be -suppressed for subroutine names by either adding a C<&> prefix, or using -a package qualifier, e.g. C<&our()>, or C<Foo::our()>. +(D deprecated) 示されている裸の単語は予約語です。 +将来のバージョンの perl ではこれをキーワードとして使う可能性があるので、 +使っているコンテキストに適した形で単語をクォートするか、違う名前を +使ってください。 +この警告は、サブルーチン名の前に C<&> を付ける(C<&our()>)か、 +パッケージ修飾子を付ける(C<Foo::our()>)ことで消すことができます。 =item Use of uninitialized value%s @@ -8818,12 +8823,12 @@ =end original -(W misc) In a conditional expression, you used <HANDLE>, <*> (glob), -C<each()>, or C<readdir()> as a boolean value. Each of these constructs -can return a value of "0"; that would make the conditional expression -false, which is probably not what you intended. When using these -constructs in conditional expressions, test their values with the -C<defined> operator. +(W misc) 条件式の中で、<HANDLE>, <*> (グロブ), C<each()>, C<readdir()> を +真偽値として使いました。 +これらの構文は値 "0" を返すことがあります; これは条件式では偽を示しますが、 +これはおそらく望んでいることではないでしょう。 +これらの構文を条件式の中で使うときは、その値を C<defined> 演算子で +テストしてください。 =item Value of CLI symbol "%s" too long @@ -8853,11 +8858,11 @@ =end original -(F) While "use strict" in effect, you referred to a global variable that -you apparently thought was imported from another module, because -something else of the same name (usually a subroutine) is exported by -that module. It usually means you put the wrong funny character on the -front of your variable. +(F) "use strict" が有効のときに、見たところ他のモジュールから +インポートされたとあなたが考えたグローバル変数を参照しました; +なぜなら同じ名前の何か他のもの(通常はサブルーチン)がそのモジュールから +エクスポートされています。 +これは普通は変数の前に間違ったおかしな文字を置いたことを意味します。 =item "%s" variable %s masks earlier declaration in same %s @@ -8913,6 +8918,7 @@ referenced when the outermost subroutine is not active, it will see the value of the shared variable as it was before and during the *first* call to the outermost subroutine, which is probably not what you want. +(TBT) =begin original @@ -8964,12 +8970,11 @@ =end original -When the inner subroutine is called, it will probably see the value of -the outer subroutine's variable as it was before and during the *first* -call to the outer subroutine; in this case, after the first call to the -outer subroutine is complete, the inner and outer subroutines will no -longer share a common value for the variable. In other words, the -variable will no longer be shared. +内側のサブルーチンが呼び出された時、おそらく外側のサブルーチンの値は、 +最初の外側のサブルーチンへの呼び出し前および呼び出し中のものになります; +この場合、外側のサブルーチンへの最初の呼び出しが終了した後、内側と +外側のサブルーチンは変数に関して同じ値を共有しなくなります。 +言い換えると、変数はもはや共有されません。 =begin original