argra****@users*****
argra****@users*****
2013年 1月 31日 (木) 01:15:57 JST
Index: docs/perl/5.16.1/perlfunc.pod diff -u docs/perl/5.16.1/perlfunc.pod:1.1 docs/perl/5.16.1/perlfunc.pod:1.2 --- docs/perl/5.16.1/perlfunc.pod:1.1 Tue Jan 8 19:10:14 2013 +++ docs/perl/5.16.1/perlfunc.pod Thu Jan 31 01:15:57 2013 @@ -36,7 +36,7 @@ この節の関数は、式の中で項として使うことができます。 これらは、大きく二つに分けられます: リスト演算子と名前付き単項演算子です。 -これらの違いは、その後に出て来るコンマとの優先順位の関係にあります。 +これらの違いは、その後に出て来るコンマとの優先順位の関係にあります。 (L<perlop> の優先順位の表を参照してください。) リスト演算子は 2 個以上の引数をとるのに対して、単項演算子が複数の引数を とることはありません。 @@ -48,7 +48,7 @@ 一つのリスト演算子が両方のコンテキストを与える場合には、スカラ引数が いくつか並び、最後にリスト引数が一つ続きます; そしてそのようなリスト引数は一つだけしかありません。 -たとえば、splice() は三つのスカラ引数に一つのリスト引数が続きます。 +たとえば、splice() は三つのスカラ引数に一つのリスト引数が続きます; 一方 gethostbyname() は四つのスカラ引数を持ちます。 =begin original @@ -64,7 +64,7 @@ =end original 後に載せる構文記述では、リストをとり (そのリストの要素にリストコンテキストを -与える)リスト演算子は、引数として LIST をとるように書いています。 +与える)リスト演算子は、引数として LIST をとるように書いています; そのようなリストには、任意のスカラ引数の組み合わせやリスト値を 含めることができ、リスト値はリストの中に、個々の要素が展開されたように 埋め込まれます。 @@ -558,8 +558,9 @@ =end original Perl は Unix 環境で生まれたので、全ての共通する Unix システムコールに -アクセスします。非 Unix 環境では、いくつかの Unix システムコールの -機能が使えなかったり、使える機能の詳細が多少異なったりします。 +アクセスします。 +非 Unix 環境では、いくつかの Unix システムコールの機能が使えなかったり、 +使える機能の詳細が多少異なったりします。 これによる影響を受ける Perl 関数は以下のものです: C<-X>, C<binmode>, C<chmod>, C<chown>, C<chroot>, C<crypt>, @@ -588,7 +589,7 @@ =end original これらの関数の移植性に関するさらなる情報については、 -L<perlport> とその他のプラットホーム固有のドキュメントを参照して下さい。 +L<perlport> とその他のプラットホーム固有のドキュメントを参照してください。 =head2 Alphabetical Listing of Perl Functions @@ -639,10 +640,10 @@ =end original - -r ファイルが実効 uid/gid で読み出し可 - -w ファイルが実効 uid/gid で書き込み可 - -x ファイルが実効 uid/gid で実行可 - -o ファイルが実効 uid の所有物 + -r ファイルが実効 uid/gid で読み出し可。 + -w ファイルが実効 uid/gid で書き込み可。 + -x ファイルが実効 uid/gid で実行可。 + -o ファイルが実効 uid の所有物。 =begin original @@ -653,10 +654,10 @@ =end original - -R ファイルが実 uid/gid で読み出し可 - -W ファイルが実 uid/gid で書き込み可 - -X ファイルが実 uid/gid で実行可 - -O ファイルが実 uid の所有物 + -R ファイルが実 uid/gid で読み出し可。 + -W ファイルが実 uid/gid で書き込み可。 + -X ファイルが実 uid/gid で実行可。 + -O ファイルが実 uid の所有物。 =begin original @@ -666,9 +667,9 @@ =end original - -e ファイルが存在する - -z ファイルの大きさがゼロ(空) - -s ファイルの大きさがゼロ以外 (バイト単位での大きさを返す) + -e ファイルが存在する。 + -z ファイルの大きさがゼロ(空)。 + -s ファイルの大きさがゼロ以外 (バイト単位での大きさを返す)。 =begin original @@ -683,14 +684,14 @@ =end original - -f ファイルは通常ファイル - -d ファイルはディレクトリ - -l ファイルはシンボリックリンク - -p ファイルは名前付きパイプ (FIFO) またはファイルハンドルはパイプ - -S ファイルはソケット - -b ファイルはブロック特殊ファイル - -c ファイルはキャラクタ特殊ファイル - -t ファイルハンドルは tty にオープンされている + -f ファイルは通常ファイル。 + -d ファイルはディレクトリ。 + -l ファイルはシンボリックリンク。 + -p ファイルは名前付きパイプ (FIFO) またはファイルハンドルはパイプ。 + -S ファイルはソケット。 + -b ファイルはブロック特殊ファイル。 + -c ファイルはキャラクタ特殊ファイル。 + -t ファイルハンドルは tty にオープンされている。 =begin original @@ -700,9 +701,9 @@ =end original - -u ファイルの setuid ビットがセットされている - -g ファイルの setgid ビットがセットされている - -k ファイルの sticky ビットがセットされている + -u ファイルの setuid ビットがセットされている。 + -g ファイルの setgid ビットがセットされている。 + -k ファイルの sticky ビットがセットされている。 =begin original @@ -711,8 +712,8 @@ =end original - -T ファイルは ASCII テキストファイル (発見的に推測します) - -B ファイルは「バイナリ」ファイル (-T の反対) + -T ファイルは ASCII テキストファイル (発見的に推測します)。 + -B ファイルは「バイナリ」ファイル (-T の反対)。 =begin original @@ -722,9 +723,9 @@ =end original - -M スクリプト実行開始時刻からファイル修正時刻を引いたもの(日単位) - -A 同様にアクセスがあってからの日数 - -C 同様に(Unix では) inode が変更されてからの日数(それ以外のプラットフォームでは違うかもしれません) + -M スクリプト実行開始時刻からファイル修正時刻を引いたもの(日単位)。 + -A 同様にアクセスがあってからの日数。 + -C 同様に(Unix では) inode が変更されてからの日数(それ以外のプラットフォームでは違うかもしれません)。 =begin original @@ -749,9 +750,8 @@ =end original C<-s/a/b> は、置換演算 (s///) の符号反転ではありません。 -しかし、C<-exp($foo)> は期待どおりに動作します。 -マイナス記号の後に英字が 1 字続くときにのみ、ファイルテストと -解釈されます。 +しかし、C<-exp($foo)> は期待どおりに動作します; しかし、マイナス記号の後に +英字が 1 字続くときにのみ、ファイルテストと解釈されます。 =begin original @@ -987,8 +987,7 @@ accept(2) システムコールと同様に、着信するソケットの接続を受け付けます。 成功時にはパックされたアドレスを返し、失敗すれば偽を返します。 -L<perlipc/"Sockets: Client/Server Communication"> の -例を参照してください。 +L<perlipc/"Sockets: Client/Server Communication"> の例を参照してください。 =begin original @@ -1024,10 +1023,10 @@ =end original 指定した壁時計秒数が経過した後に、自プロセスに SIGALRM が -送られてくるようにします。SECONDS が指定されていない場合は、 -C<$_>に格納されている値を使います。 -(マシンによっては、秒の数え方が異なるため、指定した秒数よりも -最大で 1 秒ずれます。) +送られてくるようにします。 +SECONDS が指定されていない場合は、C<$_> に格納されている値を使います。 +(マシンによっては、秒の数え方が異なるため、指定した秒数よりも最大で +1 秒ずれます。) =begin original @@ -1087,10 +1086,10 @@ C<alarm> をシステムコールの時間切れのために使いたいなら、 C<eval>/C<die> のペアで使う必要があります。 システムコールが失敗したときに C<$!> に C<EINTR> がセットされることに -頼ってはいけません。なぜならシステムによっては Perl は +頼ってはいけません; なぜならシステムによっては Perl は システムコールを再開するためにシグナルハンドラを設定するからです。 -C<eval>/C<die> は常にうまく動きます。 -注意点については L<perlipc/"Signals"> を参照して下さい。 +C<eval>/C<die> は常にうまく動きます; 注意点については +L<perlipc/"Signals"> を参照してください。 eval { local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required @@ -1180,8 +1179,9 @@ =end original bind(2) システムコールと同様に、ネットワークアドレスをソケットに結び付けます。 -成功時には真を返し、失敗時には偽を返します。 -NAME は、ソケットに対する、適切な型のパックされたアドレスでなければなりません。 +成功時には真を、さもなければ偽を返します。 +NAME は、ソケットに対する、適切な型のパックされた +アドレスでなければなりません。 L<perlipc/"Sockets: Client/Server Communication"> の例を参照してください。 =item binmode FILEHANDLE, LAYER @@ -1301,7 +1301,7 @@ しかし、「ラクダ本第3版」として知られているこの本の出版後、この機能の名前は 「ディシプリン」から「層」に変更することで合意されました。 従って、このバージョンの Perl の全ての文書では「ディシプリン」ではなく -「層」と記述されています。では通常の解説に戻ります…。> +「層」と記述されています。では通常の解説に戻ります…> =begin original @@ -1485,7 +1485,7 @@ =end original -L<perlmod/"Perl Modules"> を参照して下さい。 +L<perlmod/"Perl Modules"> を参照してください。 =item break @@ -1592,7 +1592,7 @@ C<$hints> と C<$bitmask> は caller がコンパイルされたときの 実際的なヒントを含みます。 C<$hints> は C<$bitmask> は Perl のバージョンによって変更される -可能性があるので、外部での使用を想定していません。 +可能性があるので、外部での使用を想定していません。 =begin original @@ -1616,8 +1616,8 @@ =end original さらに、DB パッケージの中からリストコンテキストで引数付きで呼ばれた場合は、 -caller はより詳細な情報を返します。 -サブルーチンが起動されたときの引数を変数 C<@DB::args> に設定します。 +caller はより詳細な情報を返します; サブルーチンが起動されたときの引数を +変数 C<@DB::args> に設定します。 =begin original @@ -1695,10 +1695,11 @@ =end original (可能であれば、) カレントディレクトリを EXPR に移します。 -EXPR を指定しないと、C<$ENV{HOME}> が設定されていれば、 -そのディレクトリに移ります。 -そうでなく、C<$ENV{LOGDIR}>が設定されていれば、そのディレクトリに移ります。 -(VMS では C<$ENV{SYS$LOGIN}> もチェックされ、もしセットされていれば使われます。) +EXPR を指定しないと、C<$ENV{HOME}> が設定されていれば、そのディレクトリに +移ります; そうでなく、C<$ENV{LOGDIR}>が設定されていれば、そのディレクトリに +移ります。 +(VMS では C<$ENV{SYS$LOGIN}> もチェックされ、もしセットされていれば +使われます。) どちらも設定されていなければ、C<chdir> は何もしません。 成功時には真を返し、そうでなければ偽を返します。 C<die> の項の例を参照してください。 @@ -1731,9 +1732,10 @@ =end original LIST に含まれるファイルの、パーミッションを変更します。 -LIST の最初の要素は、数値表現のモードでなければなりません。 -恐らく 8 進表記の数であるべきでしょう。しかし、8 進表記のC<文字列ではいけません>。 -C<0644> は OK ですが、 C<'0644'> はだめ、ということです。 +LIST の最初の要素は、数値表現のモードでなければなりません; +恐らく 8 進表記の数であるべきでしょう: しかし、8 進表記の +C<文字列ではいけません>: C<0644> は OK ですが、 C<'0644'> は +だめ、ということです。 変更に成功したファイルの数を返します。 文字列を使いたい場合は、L</oct> を参照してください。 @@ -1812,9 +1814,9 @@ =end original -より安全な C<chop> (以下を参照してください) です。 -C<$/> (C<English> モジュールでは、$INPUT_RECORD_SEPARATOR -とも言う) のその時点の値に対応する行末文字を削除します。 +より安全な C<chop> (以下を参照してください) です; C<$/> +(C<English> モジュールでは、$INPUT_RECORD_SEPARATOR とも言う) のその時点の +値に対応する行末文字を削除します。 全ての引数から削除した文字数の合計を返します。 入力レコードから、改行を削除したいのだけれど、最後のレコードには改行が 入っているのかわからないような場合に、使用できます。 @@ -1961,7 +1963,7 @@ この順序で与えなければなりません。 どちらかの値を -1 にすると、ほとんどのシステムではその値は 変更しないと解釈します。 -変更に成功したファイルの数が返されます。 +変更に成功したファイルの数を返します。 $cnt = chown $uid, $gid, 'foo', 'bar'; chown $uid, $gid, @filenames; @@ -2013,8 +2015,8 @@ ほとんどのシステムでは、スーパーユーザーだけがファイルの所有者を 変更できますが、グループは実行者の副グループに変更できるべきです。 -安全でないシステムでは、この制限はゆるめられています。 -しかしこれは移植性のある仮定ではありません。 +安全でないシステムでは、この制限はゆるめられています; しかしこれは +移植性のある仮定ではありません。 POSIX システムでは、以下のようにしてこの条件を検出できます: use POSIX qw(sysconf _PC_CHOWN_RESTRICTED); @@ -2044,8 +2046,8 @@ =end original 特定の文字セットでの NUMBER で表わされる文字を返します。 -たとえば、C<chr(65)> は ASCII と Unicode の両方で C<"A"> となります。 -chr(0x263a) は Unicode のスマイリーフェイスです。 +たとえば、C<chr(65)> は ASCII と Unicode の両方で C<"A"> となります; +chr(0x263a) は Unicode のスマイリーフェイスです。 =begin original @@ -2091,8 +2093,7 @@ =end original -Unicode についてもっと知りたいなら、L<perlunicode> を -参照してください。 +Unicode については L<perlunicode> を参照してください。 =item chroot FILENAME X<chroot> X<root> @@ -2112,10 +2113,11 @@ =end original -同じ名前のシステムコールと同じことをします。 -現在のプロセス及び子プロセスに対して、C</>で始まるパス名に関して -指定されたディレクトリを新しいルートディレクトリとして扱います。 -(これはカレントディレクトリを変更しません。カレントディレクトリはそのままです)。 +同じ名前のシステムコールと同じことをします: 現在のプロセス及び子プロセスに +対して、C</>で始まるパス名に関して指定されたディレクトリを新しい +ルートディレクトリとして扱います。 +(これはカレントディレクトリを変更しません; カレントディレクトリは +そのままです。) セキュリティ上の理由により、この呼び出しはスーパーユーザーしか行えません。 FILENAME を省略すると、C<$_> へ C<chroot> します。 @@ -2158,13 +2160,13 @@ =end original -クローズしてすぐにまた、同じファイルハンドルに -対してオープンを行なう場合には、C<open> が自動的に C<close> -を行ないますので、close FILEHANDLE する必要はありません -(L<open|/open FILEHANDLE> を参照してください)。 +クローズしてすぐにまた、同じファイルハンドルに対してオープンを行なう +場合には、C<open> が自動的に C<close> を行ないますので、 +close FILEHANDLE する必要はありません。 +(L<open|/open FILEHANDLE> を参照してください。) ただし、明示的にクローズを行なったときにのみ入力ファイルの 行番号 (C<$.>) のリセットが行なわれ、C<open> によって行なわれる -暗黙の C<close>では行なわれません。 +暗黙の C<close> では行なわれません。 =begin original @@ -2178,14 +2180,13 @@ =end original -ファイルハンドルがパイプつきオープンなら、 -C<close> はその他のシステムコールが失敗したり -プログラムが非ゼロのステータスで終了した場合にも偽を返します -(プログラムが非ゼロで終了しただけの場合は、C<$!>がC<0>にセットされます)。 -後でパイプの出力を見たい場合のために、パイプのクローズでは、 -パイプ上で実行されているプロセスの終了を待ち、 -また自動的にコマンドのステータス値を C<$?> と -C<${^CHILD_ERROR_NATIVE}> に設定します。 +ファイルハンドルがパイプつきオープンなら、C<close> はその他の +システムコールが失敗したりプログラムが非ゼロのステータスで終了した場合にも +偽を返します。 +プログラムが非ゼロで終了しただけの場合は、C<$!>がC<0>にセットされます。 +後でパイプの出力を見たい場合のために、パイプのクローズでは、パイプ上で +実行されているプロセスの終了を待ち、また自動的にコマンドのステータス値を +C<$?> と C<${^CHILD_ERROR_NATIVE}> に設定します。 =begin original @@ -2237,7 +2238,7 @@ =end original -FILEHANDLE は式でもかまいません。この場合、値は間接ファイルハンドルと +FILEHANDLE は式でもかまいません; この場合、値は間接ファイルハンドルと して扱われ、普通は実際のファイルハンドル名か自動有効化されたハンドルです。 =item closedir DIRHANDLE @@ -2270,7 +2271,7 @@ =end original connect(2) システムコールと同様に、リモートソケットへの接続を試みます。 -成功時には真を返し、失敗時には偽を返します。 +成功時には真を、さもなければ偽を返します。 NAME は、ソケットに対する、適切な型のパックされた アドレスでなければなりません。 L<perlipc/"Sockets: Client/Server Communication"> の例を参照してください。 @@ -2297,11 +2298,10 @@ BLOCK が引き続く場合、C<continue> は実際には関数ではなく、実行制御文です。 C<continue> BLOCK が BLOCK (典型的には C<while> または C<foreach> の中)にあると、 -これは条件文が再評価される直前に常に実行されます。 -これは C における C<for> ループの 3 番目の部分と同様です。 -従って、これは C<next> 文 -(これは C の C<continue> 文と似ています)を使ってループが繰り返されるときでも -ループ変数を増やしたいときに使えます。 +これは条件文が再評価される直前に常に実行されます; これは C における +C<for> ループの 3 番目の部分と同様です。 +従って、これは C<next> 文 (これは C の C<continue> 文と似ています) を使って +ループが繰り返されるときでもループ変数を増やしたいときに使えます。 =begin original @@ -2550,8 +2550,8 @@ =end original -L<crypt|/crypt> 関数は大量のデータのハッシュ化には向いていません。 -これは情報を戻せないという理由だけではありません。 +L<crypt|/crypt> 関数は大量のデータのハッシュ化には向いていません; これは +情報を戻せないという理由だけではありません。 より頑強なアルゴリズムについては L<Digest> モジュールを参照してください。 =begin original @@ -2569,8 +2569,9 @@ 含みます)に crypt() を使った場合、Perl は crypt() を呼び出す前に与えられた 文字列を8 ビットバイト文字列にダウングレードする(文字列のコピーを作る) ことで状況のつじつまを合わせようとします。 -うまく動けば、それでよし。動かなければ、crypt() は -C<Wide character in crypt> というメッセージと共に die します。 +うまく動けば、それでよし。 +動かなければ、crypt() は C<Wide character in crypt> というメッセージと共に +die します。 =begin original @@ -2642,25 +2643,22 @@ =end original -dbm(3), ndbm(3), sdbm(3), gdbm(3) ファイルまたは Berkeley DB -ファイルを連想配列に結び付けます。 +dbm(3), ndbm(3), sdbm(3), gdbm(3) ファイルまたは Berkeley DB ファイルを +連想配列に結び付けます。 HASH は、その連想配列の名前です。 -(普通の C<open> とは違って、最初の引数はファイルハンドル -I<ではありません>。まあ、似たようなものですが。) -DBNAME は、データベースの名前です (拡張子の .dir や -.pag はもしあってもつけません)。 +(普通の C<open> とは違って、最初の引数はファイルハンドル I<ではありません>; +まあ、似たようなものですが)。 +DBNAME は、データベースの名前です (拡張子の .dir や .pag はもしあっても +つけません)。 データベースが存在しなければ、MODE MASK (を C<umask> で修正したもの) で 指定されたモードで作られます。 -To prevent creation of -the database if it doesn't exist, you may specify a MODE -of 0, and the function will return a false value if it -can't find an existing database. +存在しないときにデータベースを作成しないようにするには、MODE に 0 を +設定でき、データベースを見つけられなかった場合は関数は偽を返します。 古い DBM 関数のみをサポートしているシステムでは、プログラム中で 1 度だけ dbmopen() を実行することができます。 昔のバージョンの Perl では、DBM も ndbm も持っていないシステムでは、 -dbmopen() を呼び出すと致命的エラーになります。 -現在では sdbm(3) にフォールバックします。 -(TBT) +dbmopen() を呼び出すと致命的エラーになります; 現在では sdbm(3) に +フォールバックします。 =begin original @@ -2792,7 +2790,7 @@ 定義されていないサブルーチンも呼び出し可能です: 最初に呼び出されたときに存在するようにするための C<AUTOLOAD> メソッドを持ったパッケージかもしれません; -L<perlsub> を参照して下さい。 +L<perlsub> を参照してください。 =begin original @@ -3091,12 +3089,11 @@ =end original -LIST の最後の要素が改行で終わっていなければ、その時点の -スクリプト名とスクリプトの行番号、(もしあれば) -入力ファイルの行番号と改行文字が、続けて表示されます。 -「入力行番号」("chunk" とも呼ばれます)は -「行」という概念が現在有効であると仮定しています。 -また特殊変数 C<$.> でも利用可能です。 +LIST の最後の要素が改行で終わっていなければ、その時点のスクリプト名と +スクリプトの行番号、(もしあれば) 入力ファイルの行番号と改行文字が、続けて +表示されます。 +「入力行番号」("chunk" とも呼ばれます)は「行」という概念が現在有効であると +仮定しています; また特殊変数 C<$.> でも利用可能です。 L<perlvar/"$/"> と L<perlvar/"$."> も参照してください。 =begin original @@ -3329,10 +3326,10 @@ =end original -C<do BLOCK> はループとしては I<扱われません>。 -従って、C<next>, C<last>, C<redo> といったループ制御文は -ブロックから抜けたり再開することはできません。 -その他の戦略については L<perlsyn> を参照して下さい。 +C<do BLOCK> はループとしては I<扱われません>; 従って、C<next>, C<last>, +C<redo> といったループ制御文はブロックから抜けたり +再開することはできません。 +その他の戦略については L<perlsyn> を参照してください。 =item do SUBROUTINE(LIST) X<do> @@ -3422,9 +3419,9 @@ =end original -ライブラリモジュールのインクルードには、C<use> 演算子や -C<require> 演算子を使った方がよいです。 -これらは自動的にエラーをチェックして、問題があれば例外を発生させます。 +ライブラリモジュールのインクルードには、C<use> 演算子や C<require> 演算子を +使った方がよいです; これらは自動的にエラーをチェックして、問題があれば例外を +発生させます。 =begin original @@ -3486,9 +3483,9 @@ =end original -B<警告>: dump 時点でオープンされていたファイルは、 -プログラムが再生されたときには、もはやオープンされていません。 -Perl を混乱させる可能性があります。 +B<警告>: dump 時点でオープンされていたファイルは、プログラムが +再生されたときには、もはやオープンされていません; Perl を混乱させる可能性が +あります。 =begin original @@ -3587,8 +3584,7 @@ 繰り返しを行なっている間に、ハッシュに要素を追加したり削除したりすると、 要素が飛ばされたり重複したりするので、してはいけません。 例外: 現在の実装では一番最近に C<each()> から返されたものを削除するのは常に -安全です。 -これは以下のようなコードが正しく動くことを意味します: +安全です; これは以下のようなコードが正しく動くことを意味します: while (($key, $value) = each %hash) { print $key, "\n"; @@ -3795,7 +3791,7 @@ =end original 返される値は C<eval> が実行されるごとにパースされることに注意してください。 -EXPR を省略すると、C<$_> を評価します。 +EXPR が省略されると、C<$_> を評価します。 この形は主に EXPR のテキストのパースと実行を実行時にまで 遅延させるのに用います。 @@ -3840,7 +3836,7 @@ 第二の形式では、BLOCK 内部のコードは一度だけパースされ -- コードを 囲む C<eval> 自身がパースされるのと同じ時点です -- 現在の Perl プログラムの コンテキストで実行されます。 -この形式は典型的には第一の形式より効率的に例外をトラップします(後述)。 +この形式は典型的には第一の形式より効率的に例外をトラップします(後述); また BLOCK 内部のコードはコンパイル時にチェックされるという利点を提供します。 =begin original @@ -3985,7 +3981,7 @@ =end original -これは特に顕著です。与えられた C<__DIE__> フックは C<die> をもう一度 +これは特に顕著です; 与えられた C<__DIE__> フックは C<die> をもう一度 呼び出すことができ、これによってエラーメッセージを変える効果があります: # __DIE__ hooks may modify error messages @@ -4084,9 +4080,8 @@ =end original -C<eval BLOCK> はループとして I<扱われません>。 -従って、C<next>, C<last>, C<redo> といったループ制御文でブロックから離れたり -再実行したりはできません。 +C<eval BLOCK> はループとして I<扱われません>; 従って、C<next>, C<last>, +C<redo> といったループ制御文でブロックから離れたり再実行したりはできません。 =begin original @@ -4173,10 +4168,10 @@ C<system> の代わりに C<exec> を使うというよくある間違いを防ぐために、 C<exec> が無効コンテキストで呼び出されて、引き続く文が C<die>, C<warn>, -C<exit>(C<-w> がセットされている場合 -- でもいつもセットしてますよね) 以外の -場合、Perl は警告を出します。 -もし I<本当に> C<exec> の後に他の文を書きたい場合、 -以下のどちらかのスタイルを使うことで警告を回避できます: +C<exit> 以外の場合、Perl は警告を出します(C<-w> がセットされている場合 -- +でもいつもセットしてますよね?)。 +もし I<本当に> C<exec> の後に他の文を書きたい場合、以下のどちらかの +スタイルを使うことで警告を回避できます: exec ('foo') or print STDERR "couldn't exec foo: $!"; { exec ('foo') }; print STDERR "couldn't exec foo: $!"; @@ -4201,8 +4196,8 @@ シェルのメタ文字をチェックし、もし、メタ文字があれば、 引数全体をシステムのコマンドシェル(これはUnix では C</bin/sh -c> ですが、システムによって異なります)に渡して解析させます。 -もし、メタキャラクタがなければ、その引数を単語に分け、 -より効率的な C<execvp> に直接渡します。 +シェルのメタ文字がなかった場合、引数は単語に分解されて直接 C<execvp> に +渡されます; この方がより効率的です。 例: exec '/bin/echo', 'Your arguments are: ', @ARGV; @@ -4492,9 +4487,9 @@ C<die> も参照してください。 EXPR が省略された場合には、ステータスを C<0> として終了します。 -EXPR の値として広く利用可能なのは C<0> が成功で C<1> がエラーということだけです。 -その他の値は、 Perl が実行される環境によって異なる解釈がされる -可能性があります。 +EXPR の値として広く利用可能なのは C<0> が成功で C<1> が +エラーということだけです; その他の値は、 Perl が実行される環境によって異なる +解釈がされる可能性があります。 例えば、I<sendmail> 到着メールフィルタから 69 (EX_UNAVAILABLE) で終了すると メーラーはアイテムを配達せずに差し戻しますが、 これはいつでも真ではありません。 @@ -4556,7 +4551,7 @@ =end original -I<e> (自然対数の底) の EXPR 乗を返します。 +I<e> (自然対数の底) の EXPR 乗を返します。 EXPR を省略した場合には、C<exp($_)> を返します。 =item fc EXPR @@ -4704,7 +4699,7 @@ =end original fcntl(2) 関数を実装します。 -正しい定数定義を得るために、まず、 +正しい定数定義を得るために、まず use Fcntl; @@ -4718,7 +4713,7 @@ と書くことが必要でしょう。 引数の処理と返り値については、下記の C<ioctl> と同様に動作します。 -例: +例えば: use Fcntl; fcntl($filehandle, F_GETFL, $packed_return_buffer) @@ -4810,8 +4805,8 @@ =end original -ファイルハンドルに対するファイル記述子を返します。 -ファイルハンドルがオープンしていない場合は未定義値を返します。 +ファイルハンドルに対するファイル記述子を返します; ファイルハンドルが +オープンしていない場合は未定義値を返します。 OS レベルで実際のファイル記述子がない(C<open> の第 3 引数にリファレンスを 指定してファイルハンドルがメモリオブジェクトと結びつけられたときに 起こります)場合、-1 が返されます。 @@ -4863,7 +4858,7 @@ 成功時には真を、失敗時には偽を返します。 flock(2), fcntl(2) ロック, lockf(3) のいずれかを実装していない マシンで使うと、致命的エラーが発生します。 -C<flock> は Perl の移植性のあるファイルロックインターフェースです。 +C<flock> は Perl の移植性のあるファイルロックインターフェースです; しかしレコードではなく、ファイル全体のみをロックします。 =begin original @@ -5062,7 +5057,7 @@ その他の全てはコピーされます。 fork() に対応するほとんどのシステムでは、 これを極めて効率的にするために多大な努力が払われてきました -(例えば、データページへの copy-on-write テクノロジーなどです)。 +(例えば、データページへの copy-on-write テクノロジーなどです); これはここ 20 年にわたるマルチタスクに関する主要なパラダイムとなっています。 =begin original @@ -5155,7 +5150,7 @@ =end original C<write> 関数で使うピクチャーフォーマットを宣言します。 -例: +例えば: format Something = Test: @<<<<<<<< @||||| @>>>>> @@ -5173,7 +5168,7 @@ =end original -詳細と例については L<perlform> を参照して下さい。 +詳細と例については L<perlform> を参照してください。 =item formline PICTURE,LIST X<formline> @@ -5254,7 +5249,7 @@ =end original -FILEHANDLE につながれている入力ファイルから、次の一文字を返します。 +FILEHANDLE につながれている入力ファイルから、次の一文字を返します; ファイルの最後、またはエラーが発生した場合は、未定義値を返します (後者の場合は C<$!> がセットされます)。 FILEHANDLE が省略された場合には、STDIN から読み込みを行ないます。 @@ -5301,7 +5296,7 @@ C<POSIX::getattr> 関数は POSIX 準拠を主張するシステムでこれを より移植性のある形で行います。 -お近くの CPAN サイトから C<Term::ReadKey> モジュールも参照して下さい; +お近くの CPAN サイトから C<Term::ReadKey> モジュールも参照してください; CPAN に関する詳細は L<perlmodlib/CPAN> にあります。 =item getlogin @@ -5330,8 +5325,8 @@ =end original -C<getlogin> を認証に使ってはいけません。 -これは C<getpwuid> のように安全ではありません。 +C<getlogin> を認証に使ってはいけません: これは C<getpwuid> のように +安全ではありません。 =begin original @@ -5640,7 +5635,7 @@ スカラコンテキストでは、*nam、*byname といった NAME で検索するもの以外は、 name を返し、NAME で検索するものは、何か別のものを返します。 (エントリが存在しなければ、未定義値が返ります。) -例: +例えば: $uid = getpwnam($name); $name = getpwuid($num); @@ -5804,7 +5799,7 @@ C<User::grent> です。 これらは通常の組み込みを上書きし、 それぞれのフィールドに適切な名前をつけたオブジェクトを返します。 -例: +例えば: use File::stat; use User::pwent; @@ -5818,7 +5813,7 @@ =end original -同じメソッド(uid)を呼び出しているように見えますが、違います。 +同じメソッド(uid)を呼び出しているように見えますが、違います; なぜなら C<File::stat> オブジェクトは C<User::pwent> オブジェクトとは 異なるからです。 @@ -5843,7 +5838,7 @@ =end original -SOCKET 接続のこちら側の pack された sockaddr アドレスを返します。 +SOCKET 接続のこちら側の pack された sockaddr アドレスを返します; 複数の異なる IP から接続されるためにアドレスがわからない場合に使います。 use Socket; @@ -5951,7 +5946,7 @@ リストがなくなったら undef を返します。 これは、C<< <*.c> >> 演算子を実装する内部関数ですが、 直接使用することもできます。 -EXPR を省略すると、C<$_>が使われます。 +EXPR が省略されると、C<$_> が使われます。 C<< <*.c> >>演算子については L<perlop/"I/O Operators"> でより詳細に議論しています。 @@ -6021,7 +6016,7 @@ v5.6.0 から、この演算子は標準の C<File::Glob> 拡張を使って 実装されています。 空白をパターンのセパレータとして扱わない C<bsd_glob> を含めた -詳細は L<File::Glob> を参照して下さい。 +詳細は L<File::Glob> を参照してください。 =begin original @@ -6214,7 +6209,7 @@ LIST の個々の要素に対して、BLOCK か EXPR を評価し (C<$_> は、ローカルに個々の要素が設定されます) 、 その要素のうち、評価した式が真となったものからなるリスト値が返されます。 -スカラコンテキストでは、式が真となった回数を返します。 例: +スカラコンテキストでは、式が真となった回数を返します。 @foo = grep(!/^#/, @bar); # weed out comments @@ -6245,9 +6240,8 @@ 変更するために使うことができます。 これは、便利でサポートされていますが、 LIST の要素が変数でないと、おかしな結果になります。 -同様に、grep は元のリストへのエイリアスを返します。 -for ループのインデックス変数がリスト要素のエイリアスであるのと -同様です。 +同様に、grep は元のリストへのエイリアスを返します; for ループの +インデックス変数がリスト要素のエイリアスであるのと同様です。 つまり、grep で返されたリストの要素を (C<foreach>, C<map>, または他の C<grep> で)修正すると 元のリストの要素が変更されます。 @@ -6293,7 +6287,7 @@ EXPR を 16 進数の文字列と解釈して、対応する値を返します。 (C<0>, C<0x>, C<0b> で始まる文字列の変換には、L</oct> を 参照してください。) -EXPR が省略されると、C<$_> を使用します。 +EXPR が省略されると、C<$_> を使います。 print hex '0xAf'; # prints '175' print hex 'aF'; # same @@ -6383,13 +6377,13 @@ =end original EXPR の整数部を返します。 -EXPR を省略すると、C<$_> を使います。 -この関数を丸めのために使うべきではありません。 -第一の理由として C<0> の方向への切捨てを行うから、第二の理由として -浮動小数点数の機械表現は時々直感に反した結果を生み出すからです。 -たとえば、C<int(-6.725/0.025)> は正しい結果である -269 ではなく --268 を返します。 -これは実際には -268.99999999999994315658 というような値になっているからです。 +EXPR が省略されると、C<$_> を使います。 +この関数を丸めのために使うべきではありません: 第一の理由として C<0> の +方向への切捨てを行うから、第二の理由として浮動小数点数の機械表現は時々直感に +反した結果を生み出すからです。 +たとえば、C<int(-6.725/0.025)> は正しい結果である -269 ではなく -268 を +返します: これは実際には -268.99999999999994315658 というような値に +なっているからです。 通常、C<sprintf>, C<printf>, C<POSIX::floor>, C<POSIX::ceil> の方が int() より便利です。 @@ -6647,7 +6641,10 @@ 左辺値として使うことで、C<keys> を使うことで与えられたハッシュに割り当てられた ハッシュ表の大きさを増やすことができます。 これによって、ハッシュが大きくなっていくなっていくときの -効率の測定ができます。以下のようにすると: +効率の測定ができます。 +(これは大きい値を $#array に代入することで配列を予め拡張することに +似ています。) +以下のようにすると: keys %hash = 200; @@ -6732,8 +6729,8 @@ =end original -プロセスのリストにシグナルを送ります。シグナル送信に成功したプロセスの -数を返します +プロセスのリストにシグナルを送ります。 +シグナル送信に成功したプロセスの数を返します (実際に kill に成功したプロセスと同じとは限りません)。 $cnt = kill 1, $child1, $child2; @@ -6756,7 +6753,7 @@ 自分がスーパーユーザーであることを意味します)。 これは子プロセスが(ゾンビとしてだけでも)まだ生きていて、 UID が 変わっていないことを調べる時に有用です。 -この構成の移植性に関する注意については L<perlport> を参照して下さい。 +この構成の移植性に関する注意については L<perlport> を参照してください。 =begin original @@ -6858,7 +6855,7 @@ C<last> コマンドは、(ループ内で使った) C の C<break> 文と 同じようなもので、LABEL で指定されるループを即座に抜けます。 -LABEL が省略されると、一番内側のループが対象となります。 +LABEL が省略されると、コマンドは一番内側のループを参照します。 C<continue> ブロックがあっても実行されません: LINE: while (<STDIN>) { @@ -6898,7 +6895,7 @@ =end original C<last>, C<next>, C<redo> がどのように働くかについては -L</continue> も参照して下さい。 +L</continue> も参照してください。 =item lc EXPR X<lc> X<lowercase> @@ -7177,7 +7174,7 @@ =end original OLDFILE にリンクされた、新しいファイル NEWFILE を作ります。 -成功時には true を、失敗時には false を返します。 +成功時には真を、さもなければ偽を返します。 =begin original @@ -7200,9 +7197,9 @@ =end original -listen(2) システムコールと同じことをします。成功時には真を返し、 -失敗時には偽を返します。 -L<perlipc/"Sockets: Client/Server Communication">の例を参照してください。 +listen(2) システムコールと同じことをします。 +成功時には真を、さもなければ偽を返します。 +L<perlipc/"Sockets: Client/Server Communication"> の例を参照してください。 =item local EXPR X<local> @@ -7217,8 +7214,8 @@ =end original -あなたはが本当に望んでいるのは C<my> の方でしょう。 -C<local> はほとんどの人々が「ローカル」と考えるものと違うからです。 +あなたはが本当に望んでいるのは C<my> の方でしょう; C<local> はほとんどの +人々が「ローカル」と考えるものと違うからです。 詳細は L<perlsub/"Private Variables via my()"> を参照してください。 =begin original @@ -7232,7 +7229,7 @@ "local" はリストアップされた変数を、囲っているブロック、 ファイル、eval の中で、ローカルなものにします。 -複数の値を指定する場合は、リストは括弧でくくらなければなりません。 +複数の値を指定する場合は、リストはかっこでくくらなければなりません。 tie した配列とハッシュに関する事項を含む詳細については L<perlsub/"Temporary Values via local()"> を参照してください。 @@ -7266,7 +7263,7 @@ time 関数が返す時刻を、ローカルなタイムゾーンで測った時刻として、 9 要素の配列に変換します。 -通常は、以下のようにして使用します。 +普通は、以下のようにして使います: # 0 1 2 3 4 5 6 7 8 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = @@ -7292,8 +7289,8 @@ =end original -C<$mday> は月の何日目か、C<$mon> は月の値です。 -月の値は C<0..11> で、0 が 1 月、11 が 12 月です。 +C<$mday> は月の何日目か、C<$mon> は月の値です; 月の値は C<0..11> で、0 が +1 月、11 が 12 月です。 これにより、リストから月の名前を得るのが簡単になります: my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); @@ -7332,7 +7329,7 @@ C<$wday> は曜日で、0 が日曜日、3 が木曜日です。 C<$yday> はその年の何日目かで、C<0..364> の値を取ります -(うるう年は C<0..365> です)。 +(うるう年は C<0..365> です。) =begin original @@ -7500,7 +7497,7 @@ EXPR が省略されると、C<$_> の対数を返します。 底の異なる対数を求めるためには、基礎代数を利用してください: ある数の N を底とする対数は、その数の自然対数を N の自然対数で割ったものです。 -例: +例えば: sub log10 { my $n = shift; @@ -7513,7 +7510,7 @@ =end original -逆操作については L</exp> を参照して下さい。 +逆操作については L</exp> を参照してください。 =item lstat FILEHANDLE X<lstat> @@ -7774,7 +7771,7 @@ FILENAME で指定したディレクトリを、MASK で指定した許可モード(を C<umask> で修正したもの) で作成します。 -成功時には真を返します; 失敗時には偽を返して C<$!> (errno) を設定します。 +成功時には真を返します; さもなければ偽を返して C<$!> (errno) を設定します。 MASK を省略すると、0777 とみなし、 FILENAME を省略すると、C<$_> を使います。 @@ -7831,7 +7828,8 @@ =end original -System V IPC 関数 msgctl を呼び出します。正しい定数定義を得るために、まず +System V IPC 関数 msgctl を呼び出します。 +正しい定数定義を得るために、まず use IPC::SysV; @@ -7846,7 +7844,7 @@ =end original -と宣言する必要があるでしょう。 +と書くことが必要でしょう。 CMD が C<IPC_STAT> であれば、ARG は返される C<msqid_ds> 構造体を 納める変数でなければなりません。 C<ioctl> と同じように、エラー時には未定義値、 @@ -7913,7 +7911,7 @@ VAR の先頭となり、実際のメッセージが続きます。 このパッキングは C<unpack("l! a*")> で展開できます。 変数は汚染されます。 -成功時には真を返し、エラー時には偽を返します。 +成功時には真を、エラー時には偽を返します。 L<perlipc/"SysV IPC"> および、C<IPC::SysV>, C<IPC::SysV::Msg> の文書も 参照してください。 @@ -7979,7 +7977,7 @@ C<my> はリストアップされた変数を、囲っているブロック、ファイル、 C<eval> の中でローカルな (レキシカルな) ものにします。 -複数の値を並べる場合には、括弧で括る必要があります。 +複数の値を指定する場合は、リストはかっこでくくらなければなりません。 =begin original @@ -8031,7 +8029,7 @@ C<continue> ブロックが存在すれば、たとえ捨てられる行に あっても、それが実行されます。 -LABEL が省略されると、このコマンドはもっとも内側のループを参照します。 +LABEL が省略されると、コマンドは一番内側のループを参照します。 =begin original @@ -8041,9 +8039,9 @@ =end original -C<next> は C<eval {}>, C<sub {}>, C<do {}> のように値を返す -ブロックから抜けるのには使えません。 -また、grep() や map() 操作から抜けるのに使うべきではありません。 +C<next> は C<eval {}>, C<sub {}>, C<do {}> のように値を返すブロックから +抜けるのには使えません; また、grep() や map() 操作から抜けるのに +使うべきではありません。 =begin original @@ -8064,7 +8062,7 @@ =end original C<last>, C<next>, C<redo> がどのように働くかについては -L</continue> も参照して下さい。 +L</continue> も参照してください。 =item no MODULE VERSION LIST X<no declarations> @@ -8086,7 +8084,7 @@ =end original -L<use> 関数を参照してください。C<no> は、その逆を行なうものです。 +L<use> 関数を参照してください; C<no> は、その逆を行なうものです。 =item oct EXPR X<oct> X<octal> X<hex> X<hexadecimal> X<binary> X<bin> @@ -8122,7 +8120,7 @@ =end original -EXPR を省略すると、C<$_> を使用します。 +EXPR が省略されると、C<$_> を使います。 (8 進数を扱う)その他の方法としては sprintf() または printf()があります。 $dec_perms = (stat("filename"))[2] & 07777; @@ -8309,6 +8307,7 @@ 結合されます(空白によって分割されているかもしれません)。 この形式で、モードが C<< '<' >> の場合はモードを省略できます (が、 するべきではありません)。 +ファイル引数が既知のリテラルの場合、2 引数形式の C<open> は常に安全です。 =begin original @@ -8453,7 +8452,7 @@ 望むものが C<die> でない場合(例えば、CGI スクリプト のように きれいにフォーマットされたエラーメッセージを作りたい場合 (但しこの問題を助けるモジュールがあります))でも、 -ファイルを開いた時の返り値を常にチェックするべきです。 +ファイルを開いた時の返り値を常にチェックするべきです。 =begin original @@ -8644,7 +8643,7 @@ C<< '<&=X' >> と指定すると、Perl はそのファイル記述子に対する C の C<fdopen> と同じことを行ないます(そして C<dup(2)> は呼び出しません); これはファイル記述子をより節約します。 -例: +例えば: # open for input, reusing the fileno of $fd open(FILEHANDLE, "<&=$fd") @@ -8857,7 +8856,8 @@ =end original -これに関する更なる例については L<perlipc/"Safe Pipe Opens"> を参照して下さい。 +これに関する更なる例については L<perlipc/"Safe Pipe Opens"> を +参照してください。 =begin original @@ -8967,7 +8967,7 @@ =end original とするとユーザーは C<"rsh cat file |"> という形の引数を指定できますが、 -末尾にスペースがついてしまったファイル名では動作しません。一方: +末尾にスペースがついてしまったファイル名では動作しません; 一方: open(IN, "<", $ARGV[0]) || die "can't open < $ARGV[0]: $!"; @@ -9057,7 +9057,7 @@ =end original -読み書きを混ぜる場合の詳細については L</seek> を参照して下さい。 +読み書きを混ぜる場合の詳細については L</seek> を参照してください。 =begin original @@ -9119,7 +9119,7 @@ EXPR の最初の文字の数値としての値を返します。 EXPR が空文字列の場合は、0 を返します。 -EXPR を省略した場合は、C<$_> を使用します。 +EXPR が省略されると、C<$_> を使います。 (バイトではなく I<文字> であることに注意してください。) =begin original @@ -9185,7 +9185,7 @@ =end original -二つ以上の値をリストする場合は、リストはかっこでくくる必要があります。 +複数の値を指定する場合は、リストはかっこでくくらなければなりません。 our $foo; our($bar, $baz); @@ -9291,7 +9291,7 @@ 結果の文字列は変換した値を連結したものです。 典型的には、それぞれの変換された値はマシンレベルの表現のように見えます。 例えば、32-bit マシンでは、整数は 4 バイトで表現されるので、 -Perl では 4 文字の文字列で表現されます。 +Perl では 4 文字の文字列で表現されます。 =begin original @@ -9318,9 +9318,9 @@ =end original - a 任意のバイナリデータを含む文字列、ヌル文字で埋める - A テキスト (ASCII) 文字列、スペース文字で埋める - Z ヌル文字終端 (ASCIZ) 文字列、ヌル文字で埋める + a 任意のバイナリデータを含む文字列、ヌル文字で埋める。 + A テキスト (ASCII) 文字列、スペース文字で埋める。 + Z ヌル文字終端 (ASCIZ) 文字列、ヌル文字で埋める。 =begin original @@ -9332,10 +9332,10 @@ =end original - b ビット列 (バイトごとに昇ビット順、vec() と同じ) - B ビット列 (バイトごとに降ビット順) - h 16 進数文字列 (低位ニブルが先) - H 16 進数文字列 (高位ニブルが先) + b ビット列 (バイトごとに昇ビット順、vec() と同じ)。 + B ビット列 (バイトごとに降ビット順)。 + h 16 進数文字列 (低位ニブルが先)。 + H 16 進数文字列 (高位ニブルが先)。 =begin original @@ -9345,9 +9345,9 @@ =end original - c signed char (8 ビット) 値 - C unsigned char (オクテット) 値 - W unsigned char 値 (255 より大きいかもしれません) + c signed char (8 ビット) 値。 + C unsigned char (オクテット) 値。 + W unsigned char 値 (255 より大きいかもしれません)。 =begin original @@ -9356,8 +9356,8 @@ =end original - s signed short (16 ビット) 値 - S unsigned short 値 + s signed short (16 ビット) 値。 + S unsigned short 値。 =begin original @@ -9366,8 +9366,8 @@ =end original - l signed long (32 ビット) 値 - L unsigned long 値 + l signed long (32 ビット) 値。 + L unsigned long 値。 =begin original @@ -9379,8 +9379,8 @@ =end original - q 符号付き 64 ビット整数 - Q 符号なし 64 ビット整数 + q 符号付き 64 ビット整数。 + Q 符号なし 64 ビット整数。 (64 ビット整数は、システムが 64 ビット整数に対応していて、かつ Perl が 64 ビット整数対応としてコンパイルされている場合にのみ使用可能です。 それ以外の場合は例外が発生します。) @@ -9394,11 +9394,10 @@ =end original - i signed int 値 - I unsigned int 値 - (ここでの 'integer' は 「最低」 32 bits 幅です。 - 正確なサイズはローカルの C コンパイラの - 'int'のサイズに依存します) + i signed int 値。 + I unsigned int 値。 + (ここでの 'integer' は 「最低」 32 bits 幅です。正確なサイズは + ローカルの C コンパイラの'int'のサイズに依存します。) =begin original @@ -9409,10 +9408,10 @@ =end original - n "network" 順序 (ビッグエンディアン) の unsigned short (16 ビット) - N "network" 順序 (ビッグエンディアン) の unsigned long (32 ビット) - v "VAX" 順序 (リトルエンディアン) の unsigned short (16 ビット) - V "VAX" 順序 (リトルエンディアン) の unsigned long (32 ビット) + n "network" 順序 (ビッグエンディアン) の unsigned short (16 ビット)。 + N "network" 順序 (ビッグエンディアン) の unsigned long (32 ビット)。 + v "VAX" 順序 (リトルエンディアン) の unsigned short (16 ビット)。 + V "VAX" 順序 (リトルエンディアン) の unsigned long (32 ビット)。 =begin original @@ -9421,8 +9420,8 @@ =end original - j Perl 内部符号付き整数 (IV) - J Perl 内部符号なし整数 (UV) + j Perl 内部符号付き整数 (IV)。 + J Perl 内部符号なし整数 (UV)。 =begin original @@ -9431,8 +9430,8 @@ =end original - f 機種依存の単精度浮動小数点数 - d 機種依存の倍精度浮動小数点数 + f 機種依存の単精度浮動小数点数。 + d 機種依存の倍精度浮動小数点数。 =begin original @@ -9445,7 +9444,7 @@ =end original F ネイティブフォーマットの Perl 内部浮動小数点数 (NV) - D ネイティブフォーマットの長い倍精度浮動小数点数(long double) + D ネイティブフォーマットの長い倍精度浮動小数点数(long double)。 (long double は、システムが long double に対応していて、かつ Perl が long double 対応としてコンパイルされている場合にのみ使用可能です。 それ以外の場合は例外が発生します。) @@ -9457,8 +9456,8 @@ =end original - p ヌル文字で終端する文字列へのポインタ - P 構造体 (固定長文字列) へのポインタ + p ヌル文字で終端する文字列へのポインタ。 + P 構造体 (固定長文字列) へのポインタ。 =begin original @@ -9469,9 +9468,9 @@ =end original - u uuencode 文字列 + u uuencode 文字列。 U Unicode 文字番号。文字モードでは文字に、バイトモードなら UTF-8 に - (EBCDIC システムでは UTF-EBCDIC に)エンコードされます + (EBCDIC システムでは UTF-EBCDIC に)エンコードされます。 =begin original @@ -9483,7 +9482,7 @@ =end original - w A BER 圧縮変数(ASN.1 BER ではありません。詳細については perlpacktut を + w A BER 圧縮変数(ASN.1 BER ではありません; 詳細については perlpacktut を 参照してください)。このバイト列はできるだけ少ない桁数で表現された 128 を基とした符号なし整数で、最上位ビットから順に並びます。 最後のバイト以外の各バイトのビット 8 (上位ビット) がセットされます。 @@ -9501,11 +9500,11 @@ =end original x ヌル文字 (つまり ASCII NUL, "\000", chr(0)) - X 1 文字後退 + X 1 文字後退。 @ 一番内側の () の組の開始位置から数えて、絶対位置までヌル文字で - 埋めるか切り詰める - . 値で指定した絶対位置までヌル文字で埋めるか切り詰める - ( () の組の開始 + 埋めるか切り詰める。 + . 値で指定した絶対位置までヌル文字で埋めるか切り詰める。 + ( () の組の開始。 =begin original @@ -9561,8 +9560,8 @@ =end original - > sSiIlLqQ これらの型のバイト順をビッグエンディアンに強制します - jJfFdDpP (「大きい端」が構造に触れています) + > sSiIlLqQ これらの型のバイト順をビッグエンディアンに強制します。 + jJfFdDpP (「大きい端」が構造に触れています。) =begin original @@ -9571,8 +9570,8 @@ =end original - < sSiIlLqQ これらの型のバイト順をリトルエンディアンに強制します - jJfFdDpP (「小さい端」が構造に触れています) + < sSiIlLqQ これらの型のバイト順をリトルエンディアンに強制します。 + jJfFdDpP (「小さい端」が構造に触れています。) =begin original @@ -9761,7 +9760,7 @@ =end original C<u> での繰り返し回数は、出力行毎に最大何バイトまでをエンコードするかを -示します。0, 1, 2 は 45 として扱われます。 +示します; 0, 1, 2 は 45 として扱われます。 繰り返し数は 65 を超えてはなりません。 =item * @@ -9778,9 +9777,9 @@ C<a>, C<A>, C<Z> という型を使うと、値を一つだけ取り出して使いますが、 繰り返し数で示す長さの文字列となるように、必要に応じてヌル文字か スペース文字を付け足します。 -unpack するとき、C<A> は後続の空白やヌル文字を取り除きます。 -C<Z> は最初のヌル文字以降の全てを取り除きます。 -C<a> はデータを取り除くことなくそのまま返します。 +unpack するとき、C<A> は後続の空白やヌル文字を取り除きます; C<Z> は最初の +ヌル文字以降の全てを取り除きます; C<a> はデータを取り除くことなく +そのまま返します。 =begin original @@ -9948,8 +9947,8 @@ =end original -繰り返し数として C<*> が指定されると、入力フィールドの全ての -文字が使われます。 +繰り返し数として C<*> が指定されると、入力フィールドの全ての文字が +使われます。 unpack() 時にはニブルは 16 進数の文字列に変換されます。 =item * @@ -9968,7 +9967,7 @@ C<p> は、ヌル文字終端文字列へのポインタを pack します。 文字列が一時的な値でない(つまり pack された結果を使う前に文字列が -解放されない) ことに責任を持つ必要があります +解放されない) ことに責任を持つ必要があります。 C<P> は、指定した長さの構造体へのポインタを pack します。 C<p> または C<P> に対応する値が C<undef> だった場合、 ヌルポインタが作成されます; ヌルポインタが C<undef> に unpack される @@ -10201,12 +10200,12 @@ =end original -基本的に、Intel と VAX の CPU はリトルエンディアンです。 -一方、Motorola m68k/88k, PPC, Sparc, HP PA, Power, Cray などを含む -その他の全てはビッグエンディアンです。 -Alpha と MIPS は両方ともあります: -Digital/Compaq はリトルエンディアンモードで使っています (えーと、いました) が、 -SGI/Cray はビッグエンディアンモードで使っています。 +基本的に、Intel と VAX の CPU はリトルエンディアンです; 一方、 +Motorola m68k/88k, PPC, Sparc, HP PA, Power, Cray などを含むその他の全ては +ビッグエンディアンです。 +Alpha と MIPS は両方ともあります: Digital/Compaq はリトルエンディアンモードで +使っています (えーと、いました) が、SGI/Cray はビッグエンディアンモードで +使っています。 =begin original @@ -10289,7 +10288,7 @@ 移植性のあるパック化された整数がほしい場合は、 C<n>, C<N>, C<v>, C<V> フォーマットを使うか、 直後で説明する C<< > >> と C<< < >> の修飾子が使えます。 -L<perlport> も参照して下さい。 +L<perlport> も参照してください。 =item * @@ -10414,10 +10413,9 @@ "network" 表現といったものがないため、データ交換のための機能は 用意してありません。 つまり、あるマシンで pack した浮動小数点数は、別のマシンでは -読めないかもしれないということです。 -たとえ双方で IEEE フォーマットの浮動小数点数演算を行なっていてもです -(IEEE の仕様では、メモリ表現上のバイト順序までは、 -規定されていないからです)。 +読めないかもしれないということです; たとえ双方で IEEE フォーマットの +浮動小数点数演算を行なっていてもです (IEEE の仕様では、メモリ表現上の +バイト順序までは、規定されていないからです)。 L<perlport> も参照してください。 =begin original @@ -10758,9 +10756,6 @@ =end original BLOCK や残りのコンパイル単位を与えられた名前空間として宣言します。 -パッケージ宣言のスコープは、宣言自体から、閉じたブロック、ファイル、 -eval の終わりまでです(C<my> 演算子と同じです)。 -全てのさらなる修飾されてない動的識別子はこの名前空間になります。 パッケージ宣言のスコープは BLOCK か、BLOCK がないばあいは宣言自身から 現在のスコープの末尾 (閉じたブロック、ファイル、C<eval>) です。 つまり、BLOCK なしの形式は、C<my>, C<state>, C<our> 演算子と同様に @@ -10880,7 +10875,7 @@ これらに関する例については、L<IPC::Open2>, L<IPC::Open3>, L<perlipc/"Bidirectional Communication with Another Process"> を -参照して下さい。 +参照してください。 =begin original @@ -11051,8 +11046,8 @@ =end original 文字列か文字列のリストを出力します。 -成功時には、真を返します。FILEHANDLE は、 -ファイルハンドル名またはそのリファレンスが +成功時には真を返します。 +FILEHANDLE は、ファイルハンドル名またはそのリファレンスが 入っているスカラ変数名でもよいので、一段階の間接指定が行なえます。 (注: FILEHANDLE に変数を使い、次のトークンが「項」のときには、 間に C<+> を置くか、引数の前後を括弧で括らなければ、 @@ -11081,10 +11076,8 @@ C<$,> の値が(もしあれば)各 LIST 要素の間に出力されます。 LIST 全体が出力された後、(もしあれば) C<$\> の現在の値が出力されます。 -print の引数は LIST なので、LISTの中のものは、 -すべてリストコンテキストで評価されます。 -サブルーチンの呼び出しがあれば、リストコンテキストでは、 -複数の値を返すかもしれません。 +print の引数は LIST なので、LIST の中のものは、すべてリストコンテキストで +評価されます; C<print> に渡した、リストを返すサブルーチンも含みます。 また、すべての引数を括弧で括るのでなければ、print というキーワードの 次に開き括弧を書いてはいけません; すべての引数を括弧で括ってください (あるいは "print" と引数の間に C<+> を書きますが、これはあまり @@ -11329,11 +11322,11 @@ =end original EXPR の中のすべての ASCII 非英数字キャラクタをバックスラッシュで -エスケープしたものを返します +エスケープしたものを返します。 (つまり、C</[A-Za-z_0-9]/> にマッチしない全ての ASCII 文字の前には -ロケールに関わらずバックスラッシュが前置されます)。 -これは、ダブルクォート文字列での C<\Q> エスケープを -実装するための内部関数です。 +ロケールに関わらずバックスラッシュが前置されます。) +これは、ダブルクォート文字列での C<\Q> エスケープを実装するための +内部関数です。 (See below for the behavior on non-ASCII code points.) (TBT) @@ -11581,7 +11574,7 @@ C<0> 以上 EXPR の値未満の小数の乱数値を返します。 (EXPR は正の数である必要があります。) -EXPR を省略すると、C<1> とみなします。 +EXPR が省略されると、C<1> が使われます。 現在のところ、EXPR に値 C<0> をセットすると C<1> として特別扱いされます (これは Perl 5.8.0 以前には文書化されておらず、将来のバージョンの perl では 変更される可能性があります)。 @@ -11598,6 +11591,7 @@ ランダムな小数ではなく、ランダムな整数がほしい場合は、C<rand()> から 返された値に C<int()> を適用してください。 +例えば: int(rand(10)) @@ -11809,13 +11803,12 @@ 型グロブが EXPR (EXPR がない場合は C<*ARGV>) に含まれている ファイルハンドルから読み込みます。 -スカラコンテキストでは、呼び出し毎に一行読み込んで返します。 -ファイルの最後まで読み込んだら、以後の呼び出しでは C<undef> を返します。 -リストコンテキストでは、ファイルの最後まで読み込んで、 -行のリストを返します。 +スカラコンテキストでは、呼び出し毎に一行読み込んで返します; ファイルの +最後まで読み込んだら、以後の呼び出しでは C<undef> を返します。 +リストコンテキストでは、ファイルの最後まで読み込んで、行のリストを返します。 ここでの「行」とは、C<$/> または C<$INPUT_RECORD_SEPARATOR> で 定義されることに注意してください。 -L<perlvar/"$/"> を参照して下さい。 +L<perlvar/"$/"> を参照してください。 =begin original @@ -11952,7 +11945,7 @@ 直接使うことも出来ます。 C<qx/EXPR/> 演算子は L<perlop/"I/O Operators"> でより詳細に 述べられています。 -EXPR を省略すると、C<$_> を使用します。 +EXPR が省略されると、C<$_> を使います。 =item recv SOCKET,SCALAR,LENGTH,FLAGS X<recv> @@ -11977,11 +11970,11 @@ LENGTH 文字のデータを読み込もうとします。 SCALAR は、実際に読まれた長さによって、大きくなったり、 小さくなったりします。 -同名のシステムコールと同じ FLAGS を使います。 +同名のシステムコールと同じフラグが指定できます。 SOCKET のプロトコルが対応していれば、送信側のアドレスを返します。 エラー発生時には、未定義値を返します。 実際には、C のrecvfrom(2) を呼びます。 -例についてはL<perlipc/"UDP: Message Passing">を参照してください。 +例については L<perlipc/"UDP: Message Passing"> を参照してください。 =begin original @@ -12024,7 +12017,7 @@ C<redo> コマンドは、条件を再評価しないで、ループブロックの始めからもう一度 実行を開始します。 C<continue> ブロックがあっても、実行されません。 -LABEL が省略されると、このコマンドは、もっとも内側のループを参照します。 +LABEL が省略されると、コマンドは一番内側のループを参照します。 このコマンドは通常、自分への入力を欺くために使用します: # a simpleminded Pascal comment stripper @@ -12053,8 +12046,8 @@ =end original C<redo> は C<eval {}>, C<sub {}>, C<do {}> のように値を返す -ブロックを繰り返すのには使えません。 -また、grep() や map() 操作から抜けるのに使うべきではありません。 +ブロックを繰り返すのには使えません; また、grep() や map() 操作から抜けるのに +使うべきではありません。 =begin original @@ -12077,7 +12070,7 @@ =end original C<last>, C<next>, C<redo> がどのように働くかについては -L</continue> も参照して下さい。 +L</continue> も参照してください。 =item ref EXPR X<ref> X<reference> @@ -12178,9 +12171,9 @@ =end original -ファイルの名前を変更します。 -NEWNAME というファイルが既に存在した場合、上書きされるかもしれません。 -成功時には真、失敗時には偽を返します。 +ファイルの名前を変更します; NEWNAME というファイルが既に存在した場合、 +上書きされるかもしれません。 +成功時には真を、さもなければ偽を返します。 =begin original @@ -12194,7 +12187,7 @@ =end original この関数の振る舞いはシステムの実装に大きく依存して異なります。 -普通はファイルシステムにまたがってパス名を付け替えることはできません。 +例えば、普通はファイルシステムにまたがってパス名を付け替えることはできません; システムの I<mv> がこれを補完している場合でもそうです。 その他の制限には、ディレクトリ、オープンしているファイル、既に存在している ファイルに対して使えるか、といったことを含みます。 @@ -12459,8 +12452,6 @@ サブルーチンは二つの引数と共に呼び出されます; 一つ目は自身へのリファレンス、二つ目はインクルードされるファイル名 ("F<Foo/Bar.pm>" など)です。 -サブルーチンは C<undef> か、インクルードするファイルが読み込まれる -ファイルハンドルを返します。 サブルーチンは何も返さないか、以下の順で最大三つの値のリストを 返します。 @@ -12474,7 +12465,7 @@ =end original -ファイルが読み込まれるファイルハンドル。 +ファイルが読み込まれるファイルハンドル。 =item 2 @@ -12695,12 +12686,12 @@ サブルーチン, C<eval>, C<do FILE> から EXPR で与えられた値をもって、 リターンします。 -EXPR の評価は、返り値がどのように使われるかによって -リスト、スカラ、無効コンテキストになります。 -またコンテキストは実行毎に変わります(C<wantarray> を参照してください)。 +EXPR の評価は、返り値がどのように使われるかによってリスト、スカラ、 +無効コンテキストになります; またコンテキストは実行毎に変わります +(C<wantarray> を参照してください)。 EXPR が指定されなかった場合は、リストコンテキストでは空リストを、 -スカラコンテキストでは未定義値を返します。 -そして(もちろん)無効コンテキストでは何も返しません。 +スカラコンテキストでは未定義値を返します; そして(もちろん) +無効コンテキストでは何も返しません。 =begin original @@ -12839,7 +12830,7 @@ FILENAME で指定したディレクトリが空であれば、 そのディレクトリを削除します。 -成功時には真を返します; さもなければ偽を返し、C<$!> (errno) を設定します。 +成功時には真を返します; さもなければ偽を返して C<$!> (errno) を設定します。 FILENAME を省略した場合には、C<$_> を使用します。 =begin original @@ -12931,11 +12922,10 @@ =end original -式を強制的にリストコンテキストで解釈させるようにする演算子はありません。 +式を強制的にリストコンテキストで解釈させるようにする演算子はありません; 理論的には不要だからです。 それでも、もしそうしたいのなら、C<@{[ (some expression) ]}> という構造を -使えます。 -しかし、普通は単に C<(some expression)> とすれば十分です。 +使えます; しかし、普通は単に C<(some expression)> とすれば十分です。 =begin original @@ -12978,7 +12968,7 @@ =end original -単項演算子とカンマ演算子に関する詳細については L<perlop> を参照して下さい。 +単項演算子とカンマ演算子に関する詳細については L<perlop> を参照してください。 =item seek FILEHANDLE,POSITION,WHENCE X<seek> X<fseek> X<filehandle, position> @@ -13127,14 +13117,13 @@ =end original その時点で、選択されていたファイルハンドルを返します。 -FILEHANDLE を指定した場合には、その値を出力のデフォルト -ファイルハンドルに設定します。 -これには、2 つの効果があります。 -まず、ファイルハンドルを指定しないで -C<write> や C<print> を行なった場合のデフォルトが、 -この FILEHANDLE になります。 -もう一つは、出力関連の変数への参照は、 -この出力チャネルを参照するようになります。 +FILEHANDLE を指定した場合には、その値を出力のデフォルトファイルハンドルに +設定します。 +これには、2 つの効果があります: まず、ファイルハンドルを指定しないで +C<write> や C<print> を行なった場合のデフォルトが、この FILEHANDLE に +なります。 +もう一つは、出力関連の変数への参照は、この出力チャネルを +参照するようになります。 =begin original @@ -13158,7 +13147,7 @@ =end original -FILEHANDLE は、実際のファイルハンドルの名前を示す式でもかまいません。 +FILEHANDLE は、実際のファイルハンドル名を示す式でもかまいません。 つまり、以下のようなものです: $oldfh = select(STDERR); $| = 1; select($oldfh); @@ -13170,9 +13159,9 @@ =end original -ファイルハンドルはメソッドを持ったオブジェクトであると -考えることを好むプログラマもいるかもしれません。 -そのような場合のための最後の例は以下のようなものです。 +ファイルハンドルはメソッドを持ったオブジェクトであると考えることを好む +プログラマもいるかもしれません; そのような場合のための最後の例は +以下のようなものです: use IO::Handle; STDERR->autoflush(1); @@ -13195,7 +13184,7 @@ =end original -これは、select(2) システムコールを、指定したビットマスクで呼び出します。 +これは、select(2) システムコールを、指定したビットマスクで呼び出します; ビットマスクは、C<fileno> と C<vec> を使って、以下のようにして 作成できます: @@ -13378,13 +13367,13 @@ =end original -と宣言する必要があるでしょう。 +と書くことが必要でしょう。 CMD が、IPC_STAT か GETALL のときには、ARG は、返される semid_ds 構造体か、セマフォ値の配列を納める変数でなければなりません。 C<ioctl> と同じように、エラー時には未定義値、 ゼロのときは C<"0 だが真">、それ以外なら、その値そのものを返します。 -ARG はネイティブな short int のベクターから成っていなければなりません。 -これは C<pack("s!",(0)x$nsem)> で作成できます。 +ARG はネイティブな short int のベクターから成っていなければなりません; これは +C<pack("s!",(0)x$nsem)> で作成できます。 L<perlipc/"SysV IPC">, C<IPC::SysV>, C<IPC::Semaphore> も参照してください。 =begin original @@ -13705,7 +13694,8 @@ =end original -System V IPC 関数 shmctl を呼び出します。正しい定数定義を得るために、まず +System V IPC 関数 shmctl を呼び出します。 +正しい定数定義を得るために、まず use IPC::SysV; @@ -13719,7 +13709,7 @@ =end original -と宣言する必要があるでしょう。 +と書くことが必要でしょう。 CMD が、C<IPC_STAT> ならば、ARG は、返される C<shmid_ds> 構造体を 納める変数でなければなりません。 ioctl と同様です: エラー時には C<undef>; ゼロのときは "C<0> だが真"; @@ -13787,9 +13777,8 @@ サイズ SIZE だけ、読み込みか書き込みを行ないます。 読み込み時には、VAR は読み込んだデータを納める 変数でなければなりません。 -書き込み時には、STRING が長すぎても、SIZE バイトだけが使われます。 -STRING が短すぎる場合には、SIZE バイトを埋めるために、 -ヌル文字が書き込まれます。 +書き込み時には、STRING が長すぎても、SIZE バイトだけが使われます; STRING が +短すぎる場合には、SIZE バイトを埋めるために、ヌル文字が書き込まれます。 成功時には真を、エラー時には偽を返します。 shmread() は変数を汚染します。 L<perlipc/"SysV IPC"> および C<IPC::SysV> と、 @@ -13894,7 +13883,7 @@ スクリプトを(整数の) EXPR で指定した秒数 (省略時には、永久に) スリープさせます。 -実際にスリープした秒数を返します。 +実際にスリープした秒数を返します。 =begin original @@ -13963,7 +13952,7 @@ =end original -POSIX モジュールの C<pause> 関数も参照して下さい。 +POSIX モジュールの C<pause> 関数も参照してください。 =item socket SOCKET,DOMAIN,TYPE,PROTOCOL X<socket> @@ -13982,12 +13971,10 @@ 指定した種類のソケットをオープンし、ファイルハンドル SOCKET にアタッチします。 -DOMAIN、TYPE、PROTOCOL は、 -同名のシステムコールと同じように指定します。 +DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同じように指定します。 適切な定義を import するために、まず、C<use Socket> と するとよいでしょう。 -例については L<perlipc/"Sockets: Client/Server Communication"> を -参照してください。 +L<perlipc/"Sockets: Client/Server Communication"> の例を参照してください。 =begin original @@ -14017,7 +14004,7 @@ =end original 指定した DOMAIN に、指定した TYPE で名前の無いソケットのペアを生成します。 -DOMAIN、TYPE、PROTOCOL は、同名のシステムコールと同じように指定します。 +DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同じように指定します。 実装されていない場合には、例外が発生します。 成功時には真を返します。 @@ -14126,13 +14113,11 @@ =end original -サブルーチンのプロトタイプが C<($$)>の場合、 -比較する要素は通常のサブルーチンと同じように C<@_> の中に -リファレンスとして渡されます。 -これはプロトタイプなしのサブルーチンより遅いです。 -この場合は比較のためサブルーチンに渡される二つの -要素は、パッケージのグローバル変数 $a と $b で渡されます -(次の例を参照してください)。 +サブルーチンのプロトタイプが C<($$)>の場合、比較する要素は通常の +サブルーチンと同じように C<@_> の中にリファレンスとして渡されます。 +これはプロトタイプなしのサブルーチンより遅いです; この場合は比較のため +サブルーチンに渡される二つの要素は、パッケージのグローバル変数 $a と $b で +渡されます(次の例を参照してください)。 後者の場合、レキシカルに $a と $b を宣言するのは普通とても逆効果になります。 =begin original @@ -14177,7 +14162,7 @@ C<use locale> が有効(そして C<use locale 'not_characters'> が有効でない)の 場合、C<sort LIST> は LIST を現在の比較ロケールに従ってソートします。 -L<perllocale> を参照して下さい。 +L<perllocale> を参照してください。 =begin original @@ -14447,8 +14432,8 @@ ARRAY から OFFSET、LENGTH で指定される要素を取り除き、 LIST があれば、それを代わりに挿入します。 リストコンテキストでは、配列から取り除かれた要素を返します。 -スカラコンテキストでは、取り除かれた最後の要素を返します。 -要素が取り除かれなかった場合は C<undef> を返します。 +スカラコンテキストでは、取り除かれた最後の要素を返します; 要素が +取り除かれなかった場合は C<undef> を返します。 配列は、必要に応じて、大きくなったり、小さくなったりします。 OFFSET が負の数の場合は、配列の最後からの距離を示します。 LENGTH が省略されると、OFFSET 以降のすべての要素を取り除きます。 @@ -14947,7 +14932,7 @@ =end original -例: +例えば: # Format number with up to 8 leading zeroes $result = sprintf("%08d", $number); @@ -14985,8 +14970,7 @@ C<printf> と違って、 C<sprintf> の最初の引数に配列を渡しても あなたが多分望むとおりには動作しません。 配列はスカラコンテキストで渡されるので、配列の 0 番目の要素ではなく、 -配列の要素数をフォーマットとして扱います。 -これはほとんど役に立ちません。 +配列の要素数をフォーマットとして扱います; これはほとんど役に立ちません。 =begin original @@ -15165,7 +15149,7 @@ =end original -例: +例えば: printf '<% d>', 12; # prints "< 12>" printf '<%+d>', 12; # prints "<+12>" @@ -15305,7 +15289,7 @@ 最大幅を指定できます。 小数点数フォーマットの場合、C<g> と C<G> を除いて、表示する小数点以下の 桁数を指定します(デフォルトは 6 です)。 -例: +例えば: # these examples are subject to system-specific variation printf '<%f>', 1; # prints "<1.000000>" @@ -15453,10 +15437,17 @@ =end original + hh Perl 5.14 以降で整数を C の "char" または "unsigned char" + 型として解釈する + h 整数を C の "char" または "unsigned char" 型として解釈する + j Perl 5.14 以降 C99 コンパイラのみで整数を C の "intmax_t" + 型として解釈する (移植性なし) l 整数を C の "long" または "unsigned long" と解釈する h 整数を C の "short" または "unsigned short" と解釈する q, L or ll 整数を C の "long long", "unsigned long long", "quads"(典型的には 64 ビット整数) のどれかと解釈する + t Perl 5.14 以降で整数を C の "ptrdiff_t" 型として解釈する + z Perl 5.14 以降で整数を C の "size_t" 型として解釈する =begin original @@ -15664,7 +15655,7 @@ =end original EXPR の正の平方根を返します。 -EXPR を省略すると、C<$_> を使います。 +EXPR が省略されると、C<$_> を使います。 C<Math::Complex> モジュールを使わない場合は、負の数の引数は扱えません。 use Math::Complex; @@ -15925,7 +15916,7 @@ =end original -(紀元は GMT で 1970/01/01 00:00:00) +(紀元は GMT で 1970/01/01 00:00:00。) =begin original @@ -16099,7 +16090,7 @@ =end original C<S_*> 定数に関する詳細についてはネイティブの chmod(2) と stat(2) の -ドキュメントを参照して下さい。 +ドキュメントを参照してください。 リンクの先にあるファイルではなく、シンボリックリンクそのものの情報を 得たい場合は、C<lstat> 関数を使ってください。 @@ -16177,22 +16168,20 @@ =end original -次に変更される前に、何回も文字列に対するパターンマッチを -行なうアプリケーションで、 -そのような文字列 SCALAR(省略時には C<$_>) を予め学習しておきます。 -これは、検索のために、どのようなパターンを何回使うかによって、 -また、検索される文字列内の文字頻度の分布によって、 -時間を節約することになるかもしれませんし、逆に浪費する -ことになるかもしれません。 -予習をした場合と、しない場合の実行時間を比較して、 -どちらが速いか調べることが、必要でしょう。 -短い固定文字列 (複雑なパターンの固定部分を含みます) をたくさん -検索するループで、もっとも効果があるでしょう。 -(この C<study> の仕組みは、まず、検索される文字列内の -すべての文字のリンクされたリストが作られ、たとえば、 -すべての C<'k'> がどこにあるかがわかるようになります。 -各々の検索文字列から、C プログラムや英語のテキストから作られた -頻度の統計情報に基づいて、もっとも珍しい文字が選ばれます。 +次に変更される前に、何回も文字列に対するパターンマッチを行なう +アプリケーションで、そのような文字列 SCALAR(省略時には C<$_>) を予め +学習しておきます。 +これは、検索のために、どのようなパターンを何回使うかによって、また、 +検索される文字列内の文字頻度の分布によって、時間を節約することに +なるかもしれませんし、逆に浪費することになるかもしれません; 予習をした場合と +しない場合の実行時間を比較して、どちらが速いか調べることが必要でしょう。 +短い固定文字列 (複雑なパターンの固定部分を含みます) をたくさん検索する +ループで、もっとも効果があるでしょう。 +(この C<study> の仕組みは、まず、検索される文字列内のすべての文字の +リンクされたリストが作られ、たとえば、すべての C<'k'> がどこにあるかが +わかるようになります。 +各々の検索文字列から、C プログラムや英語のテキストから作られた頻度の +統計情報に基づいて、もっとも珍しい文字が選ばれます。 この「珍しい」文字を含む場所だけが調べられるのです。) =begin original @@ -16285,6 +16274,7 @@ =end original これはサブルーチン定義であり、I<本質的には> 実際の関数ではありません。 +BLOCK なしの場合、これは単に前方宣言です。 NAME なしの場合は、無名関数定義であり、値(作成したブロックの コードリファレンス)を返します: 単にクロージャの CODE リファレンスが 作成されます。 @@ -16528,15 +16518,15 @@ LIST の最初の要素で指定するシステムコールを、残りの要素をその システムコールの引数として呼び出します。 -実装されていないときには、例外が発生します。 +実装されていない場合には、例外が発生します。 引数は、以下のように解釈されます: 引数が数字であれば、int として 引数を渡します。 そうでなければ、文字列値へのポインタが渡されます。 文字列に結果を受け取るときには、その結果を受け取るのに十分なくらいに、 文字列を予め伸ばしておく必要があります。 文字列リテラル(あるいはその他の読み込み専用の文字列)を C<syscall> の -引数として使うことはできません。 -Perl は全ての文字列ポインタは書き込まれると仮定しなければならないからです。 +引数として使うことはできません; Perl は全ての文字列ポインタは書き込まれると +仮定しなければならないからです。 整数引数が、リテラルでなく、数値コンテキストで評価されたことの ないものであれば、数値として解釈されるように、 C<0> を足しておく必要があるかもしれません。 @@ -16660,9 +16650,8 @@ =end original -歴史的な理由により、Perl が対応しているほとんどのシステムで -使える値があります。 -0 は読み込み専用、1 は書き込み専用、2 は読み書き両用を意味します。 +歴史的な理由により、Perl が対応しているほとんどのシステムで使える値が +あります:0 は読み込み専用、1 は書き込み専用、2 は読み書き両用を意味します。 OS/390 & VM/ESA Unix と Macintosh では動作 I<しない> ことが分かっています; 新しく書くコードではこれらは使わないほうがよいでしょう。 @@ -16684,6 +16673,7 @@ C<sysopen> の PERMS 引数を省略した場合、Perl は 8 進数 C<0666> を使います。 これらの権限は 8 進数である必要があり、プロセスの現在の C<umask> で 修正されます。 +X<O_CREAT> =begin original @@ -16761,7 +16751,7 @@ =end original -ファイル操作に関するより親切な説明については L<perlopentut> を参照して下さい。 +ファイル操作に関するより親切な説明については L<perlopentut> を参照してください。 =begin original @@ -16794,14 +16784,12 @@ read(2) を用いて、指定した FILEHANDLE から、変数 SCALAR へ、LENGTH バイトの データの読み込みを試みます。 -これは、バッファ付き IO ルーチンを通りませんから、 -他の入力関数, C<print>, C<write>, -C<seek>, C<tell>, C<eof> と混ぜて使うと、入力がおかしくなるかも -しれません。 -perlio 層や stdio 層は普通データをバッファリングするからです。 +これは、バッファ付き IO ルーチンを通りませんから、他の入力関数, C<print>, +C<write>, C<seek>, C<tell>, C<eof> と混ぜて使うと、入力がおかしくなるかも +しれません; perlio 層や stdio 層は普通データをバッファリングするからです。 ファイルの最後では C<0>が、エラー時には undef が、 -それ以外では実際に読み込まれたデータの長さが返されます -(後者の場合は C<$!> もセットされます)。 +それ以外では実際に読み込まれたデータの長さが返されます (後者の場合は C<$!> も +セットされます)。 実際に読み込んだ最後のバイトが read した後の最後のバイトになるので、 SCALAR は伸び縮みします。 @@ -16832,9 +16820,8 @@ =end original -syseof() 関数はありませんが、問題ありません。 -どちらにしろ eof() は(tty のような)デバイスファイルに対しては -うまく動作しないからです。 +syseof() 関数はありませんが、問題ありません; どちらにしろ eof() は +(tty のような)デバイスファイルに対してはうまく動作しないからです。 sysread() を使って、 返り値が 0 かどうかで最後まで読んだかを 判断してください。 @@ -16870,8 +16857,7 @@ =end original FILEHANDLE のシステム位置をバイト単位で lseek(2) を使って設定します。 -FILEHANDLE は式でも構いません。 -その場合はその値がファイルハンドルの名前となります。 +FILEHANDLE は、実際のファイルハンドル名を与える式でもかまいません。 WHENCE の値が、C<0> ならば、新しい位置を POSITION の位置へ設定します; C<1> ならば、現在位置から POSITION 加えた位置へ設定します; C<2> ならば、 EOF から POSITION だけ(普通は負の数です)加えた位置へ、新しい位置を @@ -16914,9 +16900,11 @@ =end original -この値には、Fcntl モジュールで使われている C<SEEK_SET>、 -C<SEEK_CUR>、C<SEEK_END> -(ファイルの先頭、現在位置、ファイルの最後)という定数を使うこともできます。 +WHENCE には、Fcntl モジュールで使われている C<SEEK_SET>, C<SEEK_CUR>, +C<SEEK_END> (ファイルの先頭、現在位置、ファイルの最後)という定数を +使うこともできます。 +定数の使用は 0, 1, 2 に依存するよりも移植性があります。 +例えば "systell" 関数を定義するには: use Fcntl 'SEEK_CUR'; sub systell { sysseek($_[0], 0, SEEK_CUR) } @@ -16930,11 +16918,10 @@ =end original -新しい位置を返します。 -失敗したときは未定義値を返します。 -位置がゼロの場合は、C<"0 but true"> の文字列として返されます。 -従って C<sysseek> は成功時に真を返し、失敗時に偽を返しますが、 -簡単に新しい位置を判定できます。 +新しい位置を返します; 失敗したときは未定義値を返します。 +位置がゼロの場合は、C<"0 but true"> の文字列として返されます; 従って +C<sysseek> は成功時に真を返し、失敗時に偽を返しますが、簡単に新しい位置を +判定できます。 =item system LIST X<system> X<shell> @@ -16966,16 +16953,14 @@ exec の項で述べたように、引数の処理は、引数の数によって異なることに 注意してください。 LIST に複数の引数がある場合、または LIST が複数の要素からなる配列の場合、 -リストの最初の要素で与えられるプログラムを、リストの残りの要素を -引数として起動します。 -スカラの引数が一つだけの場合、 -引数はシェルのメタ文字をチェックされ、もしあれば -パーズのために引数全体がシステムコマンドシェル -(これは Unix プラットフォームでは C</bin/sh -c> ですが、 -他のプラットフォームでは異なります)に渡されます。 -シェルのメタ文字がなかった場合、 -引数は単語に分解されて直接 C<execvp> に渡されます。 -この方がより効率的です。 +リストの最初の要素で与えられるプログラムを、リストの残りの要素を引数として +起動します。 +スカラの引数が一つだけの場合、引数はシェルのメタ文字をチェックされ、もし +あればパースのために引数全体がシステムコマンドシェル (これは +Unix プラットフォームでは C</bin/sh -c> ですが、他のプラットフォームでは +異なります)に渡されます。 +シェルのメタ文字がなかった場合、引数は単語に分解されて直接 C<execvp> に +渡されます; この方がより効率的です。 =begin original @@ -17035,7 +17020,7 @@ C<exec> と同様に、C<system> でも C<system PROGRAM LIST> の文法を 使うことで、プログラムに対してその名前を嘘をつくことができます。 -再び、L</exec> を参照して下さい。 +再び、L</exec> を参照してください。 =begin original @@ -17096,7 +17081,7 @@ C<system> の引数がシェルによって間接的に実行された場合、 結果と返り値はシェルの癖によって変更されることがあります。 -詳細については L<perlop/"`STRING`"> と L</exec> を参照して下さい。 +詳細については L<perlop/"`STRING`"> と L</exec> を参照してください。 =begin original @@ -17141,14 +17126,13 @@ =end original -write(2) を使って、指定した FILEHANDLEへ、 -変数 SCALAR から、LENGTH バイトのデータの書き込みを試みます。 +write(2) を使って、指定した FILEHANDLEへ、変数 SCALAR から、LENGTH バイトの +データの書き込みを試みます。 LENGTH が指定されなかった場合、 SCALAR 全体を書き込みます。 -これは、バッファ付き IO ルーチンを通りませんから、 -他の入力関数(C<sysread()> 以外), C<print>, C<write>, -C<seek>, C<tell>, or C<eof>と混ぜて使うと、 -出力がおかしくなるかもしれません。 -perlio 層と stdio 層は普通データをバッファリングするからです。 +これは、バッファ付き IO ルーチンを通りませんから、他の入力関数 +(C<sysread()> 以外), C<print>, C<write>, C<seek>, C<tell>, C<eof> と +混ぜて使うと、出力がおかしくなるかもしれません; perlio 層と stdio 層は普通 +データをバッファリングするからです。 実際に読み込まれたデータの長さか、エラー時には C<undef> が返されます (この場合エラー変数 C<$!> もセットされます)。 LENGTH が OFFSET 以降の SCALAR の利用可能なデータより大きかった場合、 @@ -17206,8 +17190,8 @@ =end original -FILEHANDLE の現在の位置を I<バイト数で> 返します。 -エラーの場合は -1 を返します。 +FILEHANDLE の現在の位置を I<バイト数で> 返します; エラーの場合は -1 を +返します。 FILEHANDLE は、実際のファイルハンドル名を示す式でもかまいません。 FILEHANDLE が省略された場合には、 最後に読み込みを行なったファイルについて調べます。 @@ -17235,7 +17219,7 @@ =end original -STDIN のような標準ストリームに対する tell() の返り値は OS に依存します。 +STDIN のような標準ストリームに対する tell() の返り値は OS に依存します: -1 やその他の値が返ってくるかもしれません。 パイプ、FIFO、ソケットに対して tell() を使うと、普通は -1 が返ります。 @@ -17305,7 +17289,7 @@ 他に引数があれば、そのクラスの C<new> メソッドに渡されます (つまり C<TIESCALAR>, C<TIEHANDLE>, C<TIEARRAY>, C<TIEHASH>)。 通常、これらは、C の C<dbm_open> などの関数に渡す引数となります。 -C<new> メソッドで返されるオブジェクトはまた C<tie> 関数でも返されます。 +C<new> メソッドで返されるオブジェクトはまた C<tie> 関数でも返されます; これは CLASSNAME の他のメソッドにアクセスしたいときに便利です。 =begin original @@ -17421,7 +17405,7 @@ 上記の全てのメソッドを実装する必要はありません。 L<perltie>, L<Tie::Hash>, L<Tie::Array>, L<Tie::Scalar>, -L<Tie::Handle> を参照して下さい。 +L<Tie::Handle> を参照してください。 =begin original @@ -17434,7 +17418,7 @@ C<dbmopen> と違い、C<tie> 関数はモジュールを C<use> したり C<require> したりしません; 自分で明示的に行う必要があります。 C<tie> の興味深い実装については L<DB_File> や F<Config> モジュールを -参照して下さい。 +参照してください。 =begin original @@ -17442,7 +17426,7 @@ =end original -更なる詳細については L<perltie> や L<"tied VARIABLE"> を参照して下さい。 +更なる詳細については L<perltie> や L<"tied VARIABLE"> を参照してください。 =item tied VARIABLE X<tied> @@ -17497,7 +17481,7 @@ CPANから)の L<Time::HiRes> モジュールを使うか、 gettimeofday(2) があるなら、Perl の C<syscall> インターフェースを 使ってください。 -詳しくは L<perlfaq8> を参照して下さい。 +詳しくは L<perlfaq8> を参照してください。 =begin original @@ -17563,7 +17547,7 @@ =end original -変換演算子。 +文字変換演算子です。 C<y///> と同じです。 L<perlop/"Quote and Quote-like Operators"> を参照してください。 @@ -17782,9 +17766,9 @@ =end original -umask は通常 8 進数で与えられる数値であることを忘れないでください。 -8 進数の文字列 I<ではありません>。 -文字列しかない場合、 L</oct> も参照して下さい。 +umask は通常 8 進数で与えられる数値であることを忘れないでください; 8 進数の +文字列 I<ではありません>。 +文字列しかない場合、 L</oct> も参照してください。 =begin original @@ -17862,7 +17846,7 @@ LIST に含まれるファイルを削除します。 成功時は削除に成功したファイルの数を返します。 -失敗時は偽を返し、C<$!> (error) をセットします: +失敗時は偽を返して C<$!> (error) をセットします: my $unlinked = unlink 'a', 'b', 'c'; unlink @goners; @@ -17936,7 +17920,7 @@ =end original EXPR が省略されると、C<$_> の文字列を unpack します。 -この関数についての説明については L<perlpacktut> を参照してください。 +この関数の説明については L<perlpacktut> を参照してください。 =begin original @@ -18165,11 +18149,10 @@ =end original -指定したモジュールから、現在のパッケージにさまざまな内容を -インポートします。 +指定したモジュールから、現在のパッケージにさまざまな内容をインポートします; 多くは、パッケージのサブルーチン名や、変数名に別名を付けることで、 -実現されています。これは、 -以下は等価ですが: +実現されています。 +これは、以下は等価ですが: BEGIN { require Module; Module->import( LIST ); } @@ -18231,10 +18214,9 @@ =end original -これは古いバージョンの Perl で動かなくなったライブラリ -モジュール(我々は必要な場合以外にそのようなことがないように -努力していますが)を C<use> する前に、現在の Perl のバージョンを -調べたい場合に有用です。 +これは古いバージョンの Perl で動かなくなったライブラリモジュールを +C<use> する前に、現在の Perl のバージョンを調べたい場合に有用です。 +(我々は必要な場合以外にそのようなことがないように努力していますが。) =begin original @@ -18407,8 +18389,8 @@ =end original これに対して、C<no> 宣言という、C<use> によってインポートされたものを、 -インポートされていないことにするものがあります。 -つまり、C<import> の代わりに C<unimport Module LIST> を呼び出します。 +インポートされていないことにするものがあります; つまり、C<import> の代わりに +C<unimport Module LIST> を呼び出します。 これは VERSION、省略された LIST、空の LIST、unimport メソッドが見つからない 場合などの観点では、C<import> と同様に振る舞います。 @@ -18440,7 +18422,7 @@ 標準モジュールやプラグマの一覧は、L<perlmodlib> を参照してください。 コマンドラインから C<use> 機能を指定するための C<-M> と C<-m> の -コマンドラインオプションについては L<perlrun> を参照して下さい。 +コマンドラインオプションについては L<perlrun> を参照してください。 =item utime LIST X<utime> @@ -18462,7 +18444,6 @@ ファイルのアクセス時刻と修正(modification) 時刻を変更します。 LIST の最初の二つの要素に、数値で表わしたアクセス時刻と修正時刻を 順に指定します。 -LIST の残りの要素が、変更の対象となるファイルです。 変更に成功したファイルの数を返します。 各ファイルの inode 変更(change)時刻には、その時点の時刻が設定されます。 例えば、このコードはファイルが I<既に存在して> いて、ユーザーが @@ -18692,7 +18673,6 @@ =end original 文字列 EXPR を BITS 幅の要素からなるビットベクターとして扱い、 -OFFSET で指定される要素の値を返します。 OFFSET で指定された要素を符号なし整数として返します。 従って、 BITS はビットベクターの中の各要素について予約されるビット数です。 BIT は、1 から 32 まで(プラットホームが @@ -18736,8 +18716,8 @@ ビットはリトルエンディアン風に、C<0x01>, C<0x02>, C<0x04>, C<0x08>, C<0x10>, C<0x20>, C<0x40>, C<0x80> の順になります。 例えば、入力バイト C<chr(0x36)> を二つのグループに分割すると、 -C<(0x6, 0x3)> になります。 -4 つに分割すると C<(0x2, 0x1, 0x3, 0x0)> になります。 +C<(0x6, 0x3)> になります; 4 つに分割すると C<(0x2, 0x1, 0x3, 0x0)> に +なります。 =begin original @@ -18746,8 +18726,8 @@ =end original -左辺値として、代入の対象にすることもできます。 -この場合、式を正しく先行させるために以下のように括弧が必要です。 +左辺値として、代入の対象にすることもできます; この場合、式を正しく +先行させるために以下のように括弧が必要です: vec($image, $max_x * $x + $y, 8) = 3; @@ -18778,7 +18758,7 @@ 文字列がなぜか内部で UTF-8 でエンコードされている場合(したがって UTF8 フラグが セットされている場合)、これは C<vec> では無視され、たとえ値が 256 未満の 文字だけであったとしても、概念的な -文字列ではなく内部バイト文字列で操作されます。 +文字列ではなく内部バイト文字列で操作されます。 =begin original @@ -18789,9 +18769,11 @@ =end original -vec() で作られた文字列は、論理演算子 C<|>、C<&>、C<^> で扱うこともできます。 +C<vec> で作られた文字列は、論理演算子 C<|>、C<&>、C<^> で +扱うこともできます。 これらの演算子は、両方の被演算子に文字列を使うと、 ビットベクター演算を行ないます。 +L<perlop/"Bitwise String Operators"> を参照してください。 =begin original @@ -18842,7 +18824,7 @@ =end original -ビット長が分かっていれば、* の代わりにその長さを使うことができます。 +ビット長が分かっていれば、C<*> の代わりにその長さを使うことができます。 =begin original @@ -19038,9 +19020,9 @@ =end original -wait(2) と同様に振る舞います。 -チャイルドプロセスが終了するのを待ち、消滅したプロセスの pid を返します。 -チャイルドプロセスが存在しないときには、C<-1> を返します。 +wait(2) と同様に振る舞います: チャイルドプロセスが終了するのを待ち、消滅した +プロセスの pid を返します; チャイルドプロセスが存在しないときには、C<-1> を +返します。 ステータスは C<$?> と C<${^CHILD_ERROR_NATIVE}> に返されます。 L<perlipc> に書いているように、返り値が C<-1> の場合は子プロセスが 自動的に刈り取られたことを意味するかもしれないことに注意してください。 @@ -19078,11 +19060,11 @@ =end original -特定のチャイルドプロセスが終了するのを待ち、消滅した -プロセスの pid を返します。 -指定したチャイルドプロセスが存在しないときには、C<-1> を返します。 +特定のチャイルドプロセスが終了するのを待ち、消滅したプロセスの pid を +返します; 指定したチャイルドプロセスが存在しないときには、C<-1> を返します。 値 0 がプロセスがまだ実行中であることを示すシステムもあります。 ステータスは C<$?> と C<${^CHILD_ERROR_NATIVE}> に返されます。 +以下のようにすると use POSIX ":sys_wait_h"; #... @@ -19101,8 +19083,7 @@ =end original -とすると、ブロックが起こらないようにして、全ての待機中ゾンビプロセスを -wait します。 +ブロックが起こらないようにして、全ての待機中ゾンビプロセスを wait します。 ブロックなしの wait は、システムコール wait_pid(2) か、 システムコール wait4(2) をサポートしているマシンで利用可能です。 しかしながら、特定の pid を C<0> の FLAGS での wait はどこでも @@ -19277,9 +19258,9 @@ =end original C<%SIG> エントリのセットに関する詳細とさらなる例に関しては -L<perlvar> を参照して下さい。 +L<perlvar> を参照してください。 carp() 関数と cluck() 関数を用いた警告の方法に関しては -Carp モジュールを参照して下さい。 +Carp モジュールを参照してください。 =item write FILEHANDLE X<write> @@ -19306,7 +19287,7 @@ デフォルトでは、ファイルに対応するフォーマットは、ファイルハンドルと 同じ名前のものですが、その時点の出力チャネル (C<select> 関数の項を 参照してください) のフォーマットは、その名前を明示的に変数 C<$~> に -代入することで、変更が可能です。 +代入することで、変更が可能です。 =begin original @@ -19322,10 +19303,10 @@ =end original -ページの先頭の処理は、自動的に行なわれます。 -現在のページに整形されたレコードを出力するだけのスペースがない場合には、 -改ページを行なってページを進め、新しいページヘッダを整形するため、 -ページ先頭フォーマットが使われ、その後でレコードが書かれます。 +ページの先頭の処理は、自動的に行なわれます: 現在のページに整形された +レコードを出力するだけのスペースがない場合には、改ページを行なってページを +進め、新しいページヘッダを整形するため、ページ先頭フォーマットが使われ、 +その後でレコードが書かれます。 デフォルトでは、ページ先頭フォーマットは、ファイルハンドルの名前に "_TOP" をつなげたものです。 これは自動有効化されたファイルハンドルで問題になる可能性がありますが、 @@ -19345,10 +19326,9 @@ =end original -FILEHANDLE を指定しないと、出力はその時点のデフォルト -出力チャネルに対して行なわれます。 -これは、スクリプトの開始時点では STDOUT ですが、select() 演算子で -変更することができます。 +FILEHANDLE を指定しないと、出力はその時点のデフォルト出力チャネルに対して +行なわれます; これは、スクリプトの開始時点では STDOUT ですが、 +select() 演算子で変更することができます。 FILEHANDLE が EXPR ならば、式が評価され、その結果の文字列が 実行時に FILEHANDLE の名前として見られます。 フォーマットについて、さらには、L<perlform> を参照してください。 @@ -19359,8 +19339,8 @@ =end original -残念ながら、write は C<read> の反対のことをするもの -I<ではありません>。 +write は C<read> の反対のことをするもの I<ではありません>。 +残念ながら。 =item y///