[perldocjp-cvs 329] CVS update: docs/perl/5.8.8

Back to archive index

argra****@users***** argra****@users*****
2008年 12月 10日 (水) 03:49:11 JST


Index: docs/perl/5.8.8/perlipc.pod
diff -u docs/perl/5.8.8/perlipc.pod:1.2 docs/perl/5.8.8/perlipc.pod:1.3
--- docs/perl/5.8.8/perlipc.pod:1.2	Tue Dec  9 02:15:37 2008
+++ docs/perl/5.8.8/perlipc.pod	Wed Dec 10 03:49:10 2008
@@ -88,7 +88,7 @@
 これは、ほとんどのシステム上ではライブラリ、とくにメモリ割り付けや
 入出力に関するものは再入可能ではないためです。
 これは、あなたのハンドラ内のほとんど I<あらゆること> が理論的には
-メモリーフォールトやそれに続くコアダンブを引き起こす可能性が
+メモリフォールトやそれに続くコアダンブを引き起こす可能性が
 あるということです - 以下の L</Deferred Signals (Safe Signals)> を
 参照してください。
 
@@ -219,7 +219,7 @@
 
 =end original
 
-この他の興味深いシグナルは、シグナル番号ゼロです。
+この他の興味深いシグナルは、シグナル番号 0 です。
 これは実際には子プロセスに影響を及ぼすことはありませんが、UID が
 生きているのか、あるいは変更されたのかのチェックを行います。
 
@@ -236,11 +236,9 @@
 
 =end original
 
-When directed at a process whose UID is not identical to that
-of the sending process, signal number zero may fail because
-you lack permission to send the signal, even though the process is alive.
+送り先のプロセスの UID が、送り元と同じではない場合、たとえプロセスが
+生きていても、シグナルを送る権限がないので、シグナル番号 0 は失敗します。
 失敗の原因は、C<%!> を使って決定できます。
-(TBT)
 
     unless (kill 0 => $pid or $!{EPERM}) {
 	warn "$pid looks dead";
@@ -652,22 +650,22 @@
 =end original
 
 Perl 5.7.3 以降では、この問題を避けるために、シグナルは「保留」されます --
-that is when the signal is delivered to the process by
-the system (to the C code that implements Perl) a flag is set, and the
-handler returns immediately. Then at strategic "safe" points in the
-Perl interpreter (e.g. when it is about to execute a new opcode) the
-flags are checked and the Perl level handler from %SIG is
-executed. The "deferred" scheme allows much more flexibility in the
-coding of signal handler as we know Perl interpreter is in a safe
-state, and that we are not in a system library function when the
-handler is called.
+これは、システムによってシグナルが (Perl を実装している C コードに)
+配送されると、フラグをセットして、ハンドラは直ちに返ります。
+それから、Perl インタプリタの戦略的に「安全な」地点
+(例えば、新しいオペコードを実行しようとしている時点) で、
+フラグをチェックして、%SIG の Perl レベルハンドラを実行します。
+「保留」スキームは、Perl インタプリタが安全な状態にあって、ハンドラが
+呼び出されたときにシステムライブラリの中ではないことが分かっているので、
+シグナルハンドラのコーディングが遥かに柔軟になります。
 しかし、実装は以下の方向で以前の Perl と異なります:
-(TBT)
 
 =over 4
 
 =item Long running opcodes
 
+(長時間実行されるオペコード)
+
 =begin original
 
 As Perl interpreter only looks at the signal flags when it about to
@@ -677,13 +675,15 @@
 
 =end original
 
-Perl インタプリタは、もし長く実行されるオペコード
+Perl インタプリタは、もし長時間実行されるオペコード
 (例えばとても長い文字列での正規表現操作)の途中でシグナルが
 到着すると、新しいオペコードを実行しようとする時にのみシグナルフラグを
 見るので、シグナルは処理が完了するまで現れません。
 
 =item Interrupting IO
 
+(I/O 割り込み)
+
 =begin original
 
 When a signal is delivered (e.g. INT control-C) the operating system
@@ -760,6 +760,8 @@
 
 =item Restartable system calls
 
+(再起動可能なシステムコール)
+
 =begin original
 
 On systems that supported it, older versions of Perl used the
@@ -774,13 +776,12 @@
 
 これに対応しているシステムでは、より古いバージョンの Perl では %SIG
 ハンドラを設定するときに SA_RESTART フラグを使います。
-This meant that
-restartable system calls would continue rather than returning when
-a signal arrived.  In order to deliver deferred signals promptly,
-Perl 5.7.3 and later do I<not> use SA_RESTART.  Consequently, 
-restartable system calls can fail (with $! set to C<EINTR>) in places
-where they previously would have succeeded.
-(TBT)
+これは、再起動可能なシステムコールではシグナルが配送されたときに
+戻るのではなく続行することを意味します。
+保留シグナルを素早く配送するために、
+Perl 5.7.3 以降では SA_RESTART を I<使っていません>。
+結果として、再起動可能なシステムコールは、いままで成功していたところでも
+($! に C<EINTR> をセットして) 失敗することがあります。
 
 =begin original
 
@@ -796,6 +797,8 @@
 
 =item Signals as "faults"
 
+(「障害」としてのシグナル)
+
 =begin original
 
 Certain signals e.g. SEGV, ILL, BUS are generated as a result of
@@ -817,16 +820,15 @@
 生成されます。
 これらは普通致命的で、Perl-レベルのハンドラができることはほとんどありません。
 (特に、古いシグナルスキームではこのような場合では特に安全ではありません。)
-However if
-a %SIG handler is set the new scheme simply sets a flag and returns as
-described above. This may cause the operating system to try the
-offending machine instruction again and - as nothing has changed - it
-will generate the signal again. The result of this is a rather odd
-"loop". In future Perl's signal mechanism may be changed to avoid this
-- perhaps by simply disallowing %SIG handlers on signals of that
-type. Until then the work-round is not to set a %SIG handler on those
-signals. (Which signals they are is operating system dependent.)
-(TBT)
+しかし、%SIG ハンドラがセットされると、新しいスキームは上述のように、
+単にフラグをセットして返ります。
+これによって OS が問題のあるコードを再び実行して
+- 何も変わっていないので - 再びシグナルを生成します。
+この結果はおかしな「ループ」となります。
+将来の Perl のシグナル機構はこれを避けるために変更されるでしょう -
+おそらく単にこの種類のシグナルに関する %SIG ハンドラを無効にするでしょう。
+それまでの回避策としては、これらのシグナル(どのシグナルかは OS 依存です)
+の %SIG ハンドラをセットしないことです。
 
 =item Signals triggered by operating system state
 
@@ -946,7 +948,7 @@
 
 =end original
 
-読み込みのためのパイプを開くために、backtics を使って同じことが
+読み込みのためのパイプを開くために、逆クォートを使って同じことが
 できることに気がつくかもしれません:
 
     print grep { !/^(tcp|udp)/ } `netstat -an 2>&1`;
@@ -963,7 +965,7 @@
 =end original
 
 その推測は表面的には正しいことのように見えるかも知れませんが、一度に
-メモリーにすべてを読み込む必要がないので、一度にファイルの一行や
+メモリにすべてを読み込む必要がないので、一度にファイルの一行や
 一レコードを処理するには(最初の例のほうが)より効率的なのです。
 同様にプロセス全体の制御を与えるので、あなたが望めば早い時期に
 子プロセスを kill することができます。
@@ -1090,7 +1092,7 @@
 これはしばしばデーモン化と呼ばれます。
 礼儀正しいデーモンはルートディレクトリに chdir() (そのため実行ファイルの
 あったディレクトリを含むファイルシステムのアンマウントを邪魔することが
-ありません)し、その標準ファイルディスクリプターを F</fdev/null> に
+ありません)し、その標準ファイル記述子を F</fdev/null> に
 リダイレクトします。
 
     use POSIX 'setsid';
@@ -1584,7 +1586,7 @@
 ソケットを扱うための Perl の関数呼び出しは対応する C でのシステムコールと
 同じ名前を持っています。
 しかし、引数に関しては二つの理由によって異なるものとなっています:
-第一に、Perl のファイルハンドルは C のファイルディスクリプターとは
+第一に、Perl のファイルハンドルは C のファイル記述子とは
 異なる働きをするものである。
 第二に、Perl はすでに文字列の長さを知っているので、その情報を渡す
 必要がない、というものです。
@@ -3093,7 +3095,7 @@
 TCP および UDP ソケット操作に終始するようにすることがおそらくは最も
 安全なもののでしょう。
 たとえば、あなたが自分のプログラムに移植性を持たせるようにしたいのであれば、
-ローカルな UDP データグラムのソケットを通してファイルディスクリプターを
+ローカルな UDP データグラムのソケットを通してファイル記述子を
 渡すようなことをしようとしてはいけないということです。
 
 =head1 AUTHOR
Index: docs/perl/5.8.8/perlxstut.pod
diff -u docs/perl/5.8.8/perlxstut.pod:1.3 docs/perl/5.8.8/perlxstut.pod:1.4
--- docs/perl/5.8.8/perlxstut.pod:1.3	Tue Dec  9 02:15:37 2008
+++ docs/perl/5.8.8/perlxstut.pod	Wed Dec 10 03:49:10 2008
@@ -52,7 +52,6 @@
 (Win32 のように)ほかのプラットフォームでは異なることになると知っている
 場所では、それを記しています。
 何か見落としを発見したら、ぜひ教えてください。
-(TBT)
 
 =head1 SPECIAL NOTES
 
@@ -132,10 +131,9 @@
 
 =end original
 
-In MakeMaker-based installations, F<Makefile.PL> provides the earliest
-opportunity to perform version checks.  One can put something like this
-in F<Makefile.PL> for this purpose:
-(TBT)
+MakeMaker ベースのインストールでは、F<Makefile.PL> が、プラットフォームの
+バージョンチェックの最も早い機会を提供します。
+この目的のために、以下のようなものを F<Makefile.PL> に書けます:
 
     eval { require 5.007 }
         or die <<EOD;
@@ -321,9 +319,8 @@
 
 =end original
 
-The rest of the .pm file contains sample code for providing documentation for
-the extension.
-(TBT)
+.pm ファイルの残りはエクステンションのためのドキュメントをを提供するための
+サンプルコードからなります。
 
 =begin original
 
@@ -414,9 +411,8 @@
 
 =end original
 
-You can safely ignore the line about "prototyping behavior" - it is
-explained in the section "The PROTOTYPES: Keyword" in L<perlxs>.
-(TBT)
+"prototyping behavior" に関する行は安全に無視できます - これは L<perlxs> の
+"The PROTOTYPES: Keyword" の章で説明されています。
 
 =begin original
 
@@ -430,10 +426,10 @@
 
 =end original
 
-If you are on a Win32 system, and the build process fails with linker
-errors for functions in the C library, check if your Perl is configured
-to use PerlCRT (running B<perl -V:libc> should show you if this is the
-case).  If Perl is configured to use PerlCRT, you have to make sure
+Win32 システムの場合で、C ライブラリ中の関数に関するリンカのエラーで
+ビルド処理が失敗する場合、Perl が PerlCRT を使うように設定されているかを
+調べて見てください (この場合、B<perl -V:libc> を実行すればわかるはずです)。
+If Perl is configured to use PerlCRT, you have to make sure
 PerlCRT.lib is copied to the same location that msvcrt.lib lives in,
 so that the compiler can find it on its own.  msvcrt.lib is usually
 found in the Visual C compiler's lib directory (e.g. C:/DevStudio/VC/lib).
@@ -706,10 +702,8 @@
 C<@ISA> と C<@EXPORT> の二つの配列は非常に重要です。
 配列 C<@ISA> には、メソッド(もしくはサブルーチン)がカレントパッケージに
 なかったときに探しに行く他のパッケージのリストがあります。
-This is usually
-only important for object-oriented extensions (which we will talk about
-much later), and so usually doesn't need to be modified.
-(TBT)
+これは普通オブジェクト指向エクステンション(これについてはずっと後の方で
+議論します)でのみ重要なので、普通は修正する必要はありません。
 
 =begin original
 
@@ -723,11 +717,10 @@
 
 配列 C<@EXPORT> は Perl に対して、呼び出されたときにパッケージの名前空間に
 置くべきエクステンションの変数とサブルーチンを指示します。
-Because
-you don't know if the user has already used your variable and subroutine
-names,
-何をエクスポートするかを慎重に選択することは極めて重要です。
-何かそうするべき理由がない限りは、デフォルトではメソッド名や変数名を
+ユーザーが既にあなたの変数名やサブルーチン名を使っているかどうかは
+わからないので、何をエクスポートするかを慎重に選択することは極めて
+重要です。
+何かそうするべき理由がない限りは、メソッド名や変数名を
 I<デフォルトでは> エクスポート I<しない> ようにしてください。
 
 =begin original
@@ -744,10 +737,8 @@
 何もエクスポートしません。
 モジュールが単なる関数と変数の集まりであれば、別の配列 @EXPORT_OK を
 通じてそれらをエクスポートできます。
-This array
-does not automatically place its subroutine and variable names into the
-namespace unless the user specifically requests that this be done.
-(TBT)
+この配列は、ユーザーがそうしてほしと明示的に指定しない限り、
+自動的にはサブルーチン名と変数名を名前空間に置きません。
 
 =begin original
 
@@ -772,6 +763,8 @@
 
 =head2 Writing good test scripts
 
+(よいテストスクリプトを書く)
+
 =begin original
 
 The importance of writing good test scripts cannot be overemphasized.  You
@@ -796,7 +789,7 @@
 
 =end original
 
-“C<make test>”を実行することにより、正しいスクリプト test.pl を実行して
+"C<make test>" を実行することにより、正しいスクリプト test.pl を実行して
 適切なバージョンのエクステンションを使うことが保証されます。
 たくさんのテストケースがあるのなら、Perl のテストの形式を
 真似たくなるかもしれません。
@@ -822,7 +815,7 @@
 
 =end original
 
-以下の行を Mytest.xs の末尾に追加してください。
+以下の行を Mytest.xs の末尾に追加してください:
 
 	void
 	round(arg)
@@ -883,12 +876,11 @@
 
 =end original
 
-Notice that in these new test cases, the argument passed to round was a
-scalar variable.
+これらの新しいテストケースでは、丸めるために渡される引数が
+スカラ変数であることに注目してください。
 定数やリテラルを丸めたらどうなるだろうか、という疑問を持ったかもしれません。
 何が起きるかを確かめるために、以下の行を test.pl に一時的に
 追加してください。
-(TBT)
 
 	&Mytest::round(3);
 
@@ -899,12 +891,14 @@
 
 =end original
 
-“C<make test>”を実行すると、Perl は致命的エラーを起こして
+"C<make test>" を実行すると、Perl は致命的エラーを起こして
 終了してしまいます。
-Perl は、定数値を変更することをさせないのです!
+Perl は、定数値を変更させないのです!
 
 =head2 What's new here?
 
+(何が新しいの?)
+
 =over 4
 
 =item *
@@ -945,6 +939,8 @@
 
 =head2 Input and Output Parameters
 
+(入力パラメータと出力パラメータ)
+
 =begin original
 
 You specify the parameters that will be passed into the XSUB on the line(s)
@@ -954,8 +950,8 @@
 
 =end original
 
-関数の戻り値と名前を宣言した後の行に XSUB に渡すパラメーターを指定できます。
-各パラメーター行は(省略可能な)空白で始まり、(省略可能な)終端する
+関数の戻り値と名前を宣言した後の行に XSUB に渡すパラメータを指定できます。
+各パラメータ行は(省略可能な)空白で始まり、(省略可能な)終端する
 セミコロンがあります。
 
 =begin original
@@ -968,7 +964,7 @@
 
 =end original
 
-出力パラメーターは関数の最後、OUTPUT: 指示子の直後に置きます。
+出力パラメータは関数の最後、OUTPUT: 指示子の直後に置きます。
 RETVAL を使うことで、Perl に XSUB 関数の戻り値を返したいという意志を
 伝えます。
 例 3 では、「返り値」を私たちが渡した元の変数に入れてほしいので、
@@ -1078,6 +1074,8 @@
 
 =head2 Warning about Output Arguments
 
+(出力引数に関する警告)
+
 =begin original
 
 In general, it's not a good idea to write extensions that modify their input
@@ -1091,13 +1089,11 @@
 
 一般的にいって、例 3 にあるように入力引数を書き換えるような
 エクステンションを作ることはよくありません。
-Instead, you should probably return multiple
-values in an array and let the caller handle them (we'll do this in a later
-example).
-しかしながら、すでにある入力パラメーターを書き換えるような C のルーチンの
+代わりに、おそらくは複数の値を配列で返して、呼び出し元にそれを扱わせるように
+するべきです(これは後の例で行います)。
+しかしながら、すでにある入力パラメータを書き換えるような C のルーチンの
 呼び出しにより良く適応するために、この振る舞いが許されているのです。
 次の例では、これをどう行うかを説明します。
-(TBT)
 
 =head2 EXAMPLE 4
 
@@ -1213,11 +1209,10 @@
 
 =end original
 
-Make sure you use a tab and not spaces on the lines beginning with "$(AR)"
-and "$(RANLIB)".  Make will not function properly if you use spaces.
-It has also been reported that the "cr" argument to $(AR) is unnecessary
-on Win32 systems.
-(TBT)
+"$(AR)" と "$(RANLIB)" で始まる行では空白ではなくタブを使っていることを
+確認してください。
+また、Win32 システムでは、$(AR) の "cr" 引数は不要であることが
+報告されています。
 
 =begin original
 
@@ -2050,9 +2045,8 @@
 これがエクステンション自身がロードされたときロードされるにしろ、
 サブルーチン定義が置かれている. pm ファイルに依存する呼び出しのときのみ
 ロードするにしろ、自動的にロードが行われます。
-You can also consult L<AutoLoader> for an alternate
-way to store and load your extra subroutines.
-(TBT)
+追加のサブルーチンを保管して読み込むもう一つの方法としては
+L<AutoLoader> を参考にすることもできます。
 
 =head2 Documenting your Extension
 
@@ -2174,9 +2168,7 @@
 
 =end original
 
-Return to the Mytest directory and add the following code to the end of
-Mytest.xs:
-(TBT)
+Mytest ディレクトリに戻って、Mytest.xs の末尾に以下のコードを追加します:
 
 	void
 	statfs(path)
@@ -2208,9 +2200,8 @@
 
 =end original
 
-You'll also need to add the following code to the top of the .xs file, just
-after the include of "XSUB.h":
-(TBT)
+また、.xs ファイルの先頭、"XSUB.h" をインクルードした直後に、以下のコードを
+追加する必要があります:
 
 	#include <sys/vfs.h>
 
@@ -2238,8 +2229,8 @@
 
 =end original
 
-This example added quite a few new concepts.  We'll take them one at a time.
-(TBT)
+この例はいくつかの全く新しい概念を追加します。
+一回に一つずつやります。
 
 =over 4
 
@@ -3061,7 +3052,7 @@
 =begin meta
 
 Created: KIMURA Koichi
-Updated: Kentaro Shirakata <argra****@ub32*****>
+Updated: Kentaro Shirakata <argra****@ub32*****> (5.8.8-)
 
 =end meta
 


perldocjp-cvs メーリングリストの案内
Back to archive index