argra****@users*****
argra****@users*****
2008年 12月 18日 (木) 02:27:26 JST
Index: docs/perl/5.10.0/perlapio.pod diff -u docs/perl/5.10.0/perlapio.pod:1.6 docs/perl/5.10.0/perlapio.pod:1.7 --- docs/perl/5.10.0/perlapio.pod:1.6 Wed Dec 17 04:05:27 2008 +++ docs/perl/5.10.0/perlapio.pod Thu Dec 18 02:27:26 2008 @@ -170,16 +170,14 @@ =end original -perl5.7.0 の直後に導入され、this is a re-implementation of the -above abstraction which allows perl more control over how IO is done -as it decouples IO from the way the operating system and C library -choose to do things. For USE_PERLIO PerlIO * has an extra layer of -indirection - it is a pointer-to-a-pointer. This allows the PerlIO * -to remain with a known value while swapping the implementation around -underneath I<at run time>. +これはperl5.7.0 の直後に導入され、上述の抽象化の再実装です; これによって +IO を OS と C ライブラリが物事を行うための選択と切り離すために、 +IO がどのように行われるかを perl がより制御できるようになります。 +USE_PERLIO では、PerlIO * は間接化の追加の層を持ちます - これは点対点です。 +これにより、PerlIO * は既知の値のまま、基礎となる実装を I<実行時に> +交換することができます。 この場合上述の全ては基礎となる実装を呼び出す本当の(しかしとても単純な) 関数です。 -(TBT) =begin original @@ -258,11 +256,9 @@ fopen()/fdopen() に対応し、同じ引数を取ります。 エラーの場合は C<NULL> を返し、C<errno> をセットします。 -There may be an -implementation limit on the number of open handles, which may be lower -than the limit on the number of open files - +オープンするハンドルの数には実装の制限があるかもしれず、これはオープンする +ファイルの数の制限より低いかもしれません - この制限を越えて C<NULL> を返されると、C<errno> はセットされません。 -(TBT) =item B<PerlIO_reopen(path,mode,f)> @@ -388,13 +384,12 @@ ungetc() に対応します。 最初の引数に "file" が来るということに注意してください。 -Arranges that next read operation will return -the byte B<c>. Despite the implied "character" in the name only -values in the range 0..0xFF are defined. Returns the byte B<c> on -success or -1 (C<EOF>) on error. The number of bytes that can be -"pushed back" may vary, only 1 character is certain, and then only if -it is the last character that was read from the handle. -(TBT) +次の読み込み操作でバイト B<c> を返すように準備します。 +名前の "character" が暗示しているものに関わらず、0..0xFF の範囲の値のみが +定義されています。 +成功にはバイト B<c> が、エラー時には -1 (C<EOF>) が返されます。 +「押し返す」ことができるバイト数は異なります; 1 文字だけというのは確実で、 +従ってハンドルから読み込んだ最後の文字だけということです。 =item B<PerlIO_getc(f)> @@ -491,11 +486,10 @@ 読み込み専用でオープンしているか、最後の操作がなんらかの読み込みである ハンドルで呼び出すと、USE_STDIO 実装には未定義の振る舞いとなるものが あります。 -The USE_PERLIO (layers) implementation tries to -behave better: it flushes all open streams when passed C<NULL>, and -attempts to retain data on read streams either in the buffer or by -seeking the handle to the current logical position. -(TBT) +USE_PERLIO (層) 実装はよりよく振る舞おうとします: C<NULL> が渡されると +オープンしている全てのストリームをフラッシュし、バッファの中か、現在の +論理位置にハンドルをシークすることで、読み込みストリームのデータを +維持しようとします。 =item B<PerlIO_seek(f,offset,whence)> @@ -512,14 +506,13 @@ =end original fseek() に対応します。 -Sends buffered write data to the -underlying file, or discards any buffered read data, then positions -the file descriptor as specified by B<offset> and B<whence> (sic). -This is the correct thing to do when switching between read and write -on the same handle (see issues with PerlIO_flush() above). Offset is -of type C<Off_t> which is a perl Configure value which may not be same -as stdio's C<off_t>. -(TBT) +バッファリングされた書き込みデータを対応するファイルに送るか、 +バッファリングした読み込みデータを捨ててから、ファイル記述子の位置を +<offset> と B<whence> で指定された場所にします(シークします)。 +これは同じハンドルの読み込みと書き込みを切り替えるときにするべき +正しいことです(上述の PerlIO_flush() の問題を参照してください)。 +offset は perl の Configure 値である C<Off_t> 型で、stdio の C<off_t> とは +異なるかもしれません。 =item B<PerlIO_tell(f)> @@ -535,13 +528,13 @@ =end original ftell() に対応します。 -Returns the current file position, or -(Off_t) -1 on error. May just return value system "knows" without -making a system call or checking the underlying file descriptor (so -use on shared file descriptors is not safe without a -PerlIO_seek()). Return value is of type C<Off_t> which is a perl -Configure value which may not be same as stdio's C<off_t>. -(TBT) +現在のファイル位置か、エラーの場合は (Off_t) -1 が返されます。 +システムコールや、基礎となるファイル記述子のチェックなしに、システムが +「知っている」値を返すかもしれません。 +(従って、共有ファイル記述子での使用は、PerlIO_seek() なしでは +安全ではありません)。 +返り値は perl の Configure 値である C<Off_t> 型で、stdio の C<off_t> とは +異なるかもしれません。 =item B<PerlIO_getpos(f,p)>, B<PerlIO_setpos(f,p)> @@ -676,10 +669,9 @@ =end original -XS code is probably better using "typemap" if it expects FILE * -arguments. +XS コードは、もし FILE * 引数を想定しているなら、おそらく"typemap" を +使ったほうがよいでしょう。 標準の typemap は、この分野でのあらゆる変更を把握するために調整されます。 -(TBT) =over 4 @@ -819,11 +811,10 @@ =end original -Returns a native FILE * used by a stdio layer. If there is none, it -will create one with PerlIO_exportFILE. In either case the FILE * -should be considered as belonging to PerlIO subsystem and should -only be closed by calling C<PerlIO_close()>. -(TBT) +stdio 層で使われるネイティブな FILE * を返します。 +もしそれがなければ、PerlIO_exportFILE を使って作成されます。 +どちらの場合でも、FILE * は PerlIO サブシステムに従うと考えられ、 +C<PerlIO_close()> を呼び出すことによってのみクローズされるべきです。 =back @@ -869,10 +860,9 @@ =end original -Returns true if implementation has all the interfaces required to -allow perl's C<sv_gets> to "bypass" normal IO mechanism. This can -vary from handle to handle. -(TBT) +もし実装が通常の IO 機構を「回避」するために perl の C<sv_gets> が +使えるために要求される全てのインターフェースを持っているなら真を返します。 +これはハンドルによって異なる可能性があります。 PerlIO_fast_gets(f) = PerlIO_has_cntptr(f) && \ PerlIO_canset_cnt(f) && \ @@ -1036,11 +1026,11 @@ =end original -The new interface to the USE_PERLIO implementation. The layers ":crlf" -and ":raw" are only ones allowed for other implementations and those -are silently ignored. (As of perl5.8 ":raw" is deprecated.) Use -PerlIO_binmode() below for the portable case. -(TBT) +USE_PERLIO 実装への新しいインターフェースです。 +":crlf" と ":raw" の層はその他の実装では一つだけが許可され、これらは暗黙に +無視されます。 +(perl5.8 から、":raw" は非推奨です。) +移植性が問題になる場合は後述する PerlIO_binmode() を使ってください。 =item PerlIO_binmode(f,ptype,imode,layers)