argra****@users*****
argra****@users*****
2014年 11月 15日 (土) 23:39:57 JST
Index: docs/perl/5.20.1/perlfunc.pod diff -u docs/perl/5.20.1/perlfunc.pod:1.1 docs/perl/5.20.1/perlfunc.pod:1.2 --- docs/perl/5.20.1/perlfunc.pod:1.1 Sat Oct 18 00:01:29 2014 +++ docs/perl/5.20.1/perlfunc.pod Sat Nov 15 23:39:57 2014 @@ -881,9 +881,8 @@ さもなければ C<-T> ファイルです。 また、調べた位置にヌル文字が含まれるファイルも、バイナリファイルと みなされます。 -(If executed within the scope of a L<S<use -locale>|perllocale> which includes C<LC_CTYPE>, odd characters are -anything that isn't a printable nor space in the current locale.) +(C<LC_CTYPE> を含む L<S<use locale>|perllocale> のスコープの中で実行されると、 +おかしな文字というのは現在のロケールで表示可能でもスペースでもないものです。) C<-T> や C<-B> をファイルハンドルに対して用いると、 最初のブロックを調べる代わりに、IO バッファを調べます。 調べたファイルの中身が何もないときや、 @@ -892,7 +891,6 @@ C<-T> テストをするためにはファイルを読み込まないといけないので、 たいていは C<next unless -f $file && -T $file> というような形で まず調べたいファイルに対して C<-f> を使いたいはずです。 -(TBT) =begin original @@ -1546,10 +1544,10 @@ スカラコンテキストでは、呼び元が I<ある> 場合 (サブルーチン、C<eval>、C<require> の中にいるとき) には 呼び出し元のパッケージ名を返し、その他のときには未定義値を返します。 -caller never returns XS subs and they are skipped. The next pure -perl sub will appear instead of the XS sub in caller's return values. +caller は XS サブルーチンを返すことはなく、それらは飛ばされます。 +XS サブルーチンの代わりに次のピュア perl サブルーチンが caller の返り値に +なります。 リストコンテキストでは、caller は以下を返します: -(TBT) # 0 1 2 ($package, $filename, $line) = caller; @@ -1595,8 +1593,8 @@ =end original -ここで、$subroutine is the function that the caller called (rather than the -function containing the caller). +ここで、$subroutine は、(caller を含む関数ではなく) caller が呼び出した +関数です。 フレームがサブルーチン呼び出しではなく C<eval> だった場合、この $subroutine は C<(eval)> になることに注意してください。 この場合、追加の要素である $evaltext と C<$is_require> がセットされます: @@ -1616,7 +1614,6 @@ 対応します。 C<$hints> は C<$bitmask> は Perl のバージョンによって変更される 可能性があるので、外部での使用を想定していません。 -(TBT) =begin original @@ -1863,8 +1860,7 @@ =end original VARIABLE がハッシュなら、ハッシュのキーではなく値について chomp し、 -resetting the C<each> iterator in the process. -(TBT) +このプロセスの C<each> 反復子をリセットします。 =begin original @@ -1930,8 +1926,7 @@ C<s/.$//s> よりも、ずっと効率的です。 VARIABLE が省略されると、C<$_> を対象として chop します。 VARIABLE がハッシュの場合、ハッシュのキーではなく値について chop し、 -resetting the C<each> iterator in the process. -(TBT) +このプロセスの C<each> 反復子をリセットします。 =begin original @@ -2155,9 +2150,8 @@ =end original -B<NOTE:> It is good security practice to do C<chdir("/")> (to the root -directory) immediately after a C<chroot()>. -(TBT) +B<注意:> C<chroot()> の直後に (ルートディレクトリに) C<chdir("/")> するのは +セキュリティ上の良い習慣です。 =begin original @@ -2335,8 +2329,8 @@ =end original BLOCK が引き続く場合、C<continue> は実際には関数ではなく、実行制御文です。 -C<continue> BLOCK が BLOCK (典型的には C<while> または C<foreach> の中)にあると、 -これは条件文が再評価される直前に常に実行されます; これは C における +C<continue> BLOCK が BLOCK (典型的には C<while> または C<foreach> の中)に +あると、これは条件文が再評価される直前に常に実行されます; これは C における C<for> ループの 3 番目の部分と同様です。 従って、これは C<next> 文 (これは C の C<continue> 文と似ています) を使って ループが繰り返されるときでもループ変数を増やしたいときに使えます。 @@ -2540,8 +2534,8 @@ =end original 新しい salt を選択する場合は、集合 C<[./0-9A-Za-z]> から -(C<join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64]> のようにして) -ランダムに2 つの文字を選びます。 +(C<join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64]> の +ようにして)ランダムに2 つの文字を選びます。 この文字集合は単なる推薦です; salt として許される文字はシステムの暗号化 ライブラリだけに依存し、Perl は C<crypt()> がどのような salt を受け付けるかに ついて制限しません。 @@ -2974,9 +2968,7 @@ shift() や splice() を使ってください。 しかし、削除された要素が配列の末尾であった場合、配列のサイズは exists() が真となる最大位置の要素(それがない場合は 0)に切り詰められます。 -In other words, an -array won't have trailing nonexistent elements after a delete. -(TBT) +言い換えると、delete の後には配列の末尾に値のない要素はありません。 =begin original @@ -3658,9 +3650,7 @@ =end original -Tied hashes may have a different ordering behaviour to perl's hash -implementation. -(TBT) +tie されたハッシュは、順序に関して Perl のハッシュと異なった振る舞いをします。 =begin original @@ -3915,12 +3905,11 @@ =end original -Problems can arise if the string expands a scalar containing a floating -point number. That scalar can expand to letters, such as C<"NaN"> or -C<"Infinity">; or, within the scope of a C<use locale>, the decimal -point character may be something other than a dot (such as a comma). -None of these are likely to parse as you are likely expecting. -(TBT) +文字列をが小数点を含むスカラを展開するときに問題が起こることがあります。 +そのようなスカラは C<"NaN"> や C<"Infinity"> のような文字に +展開されることがあります; または、C<use locale> のスコープの中では、 +小数点文字は (カンマのような) ドット以外の文字かもしれません。 +これらはどれもあなたがおそらく予測しているようにはパースされません。 =begin original @@ -3946,7 +3935,8 @@ =end original -最後のセミコロンは、もしあれば、EXPR の値や BLOCK の中身から省くことができます。 +最後のセミコロンは、もしあれば、EXPR の値や BLOCK の中身から +省くことができます。 =begin original @@ -4384,10 +4374,10 @@ =end original -On Windows, only the C<exec PROGRAM LIST> indirect object syntax will -reliably avoid using the shell; C<exec LIST>, even with more than one -element, will fall back to the shell if the first spawn fails. -(TBT) +Windows では、C<exec PROGRAM LIST> 間接オブジェクト構文のみが、シェルを +使うのを回避するための信頼できる方法です; C<exec LIST> は、複数の要素が +あっても、最初の spawn が失敗したときにシェルに +フォールバックすることがあります。 =begin original @@ -4768,17 +4758,15 @@ =end original この関数は、S<C<"use feature 'unicode_strings">> のようなさまざまなプラグマの -影響下では、L</lc> と同様に振る舞います; -with the single -exception of C<fc> of LATIN CAPITAL LETTER SHARP S (U+1E9E) within the -scope of S<C<use locale>>. The foldcase of this character would -normally be C<"ss">, but as explained in the L</lc> section, case -changes that cross the 255/256 boundary are problematic under locales, -and are hence prohibited. Therefore, this function under locale returns -instead the string C<"\x{17F}\x{17F}">, which is the LATIN SMALL LETTER -LONG S. Since that character itself folds to C<"s">, the string of two -of them together should be equivalent to a single U+1E9E when foldcased. -(TBT) +影響下では、L</lc> と同様に振る舞います; 但し、S<C<use locale>> の +スコープ内での LATIN CAPITAL LETTER SHARP S (U+1E9E) の C<fc> は例外です。 +この文字の畳み込み文字は普通は C<"ss"> ですが、L</lc> の節で +説明しているように、ロケールの基での255/256 境界をまたぐ大文字小文字の変更は +問題があるので、禁止されています。 +従って、ロケールの基ではこの関数は代わりに LATIN SMALL LETTER LONG S である +C<"\x{17F}\x{17F}"> を返します。 +この文字自体は C<"s"> の畳み込みなので、これら二つを合わせた文字列は +畳み込まれた場合は単一の U+1E9E と等価になります。 =begin original @@ -6230,11 +6218,11 @@ =end original -C<goto EXPR> の形式は expects to evaluate C<EXPR> to a code reference or -a label name. If it evaluates to a code reference, it will be handled -like C<goto &NAME>, below. This is especially useful for implementing -tail recursion via C<goto __SUB__>. -(TBT) +C<goto EXPR> の形式は、C<EXPR> をコードリファレンスまたはラベル名として +評価することを想定します。 +コードリファレンスとして評価する場合、後述する C<goto &NAME> のように +扱います。 +これは特に、C<goto __SUB__> による末尾再帰の実装に有用です。 =begin original @@ -6681,8 +6669,7 @@ =end original リストコンテキストで呼び出されると、指定したハッシュのすべてのキー、あるいは -Perl 5.12 以降でのみ、配列のインデックスからなるリストを -返します。 +Perl 5.12 以降でのみ、配列のインデックスからなるリストを返します。 5.12 より前の Perl は配列引数を使おうとすると文法エラーを出力します。 スカラコンテキストでは、キーやインデックスの数を返します。 @@ -6716,10 +6703,8 @@ L<perlsec/"Algorithmic Complexity Attacks"> を参照してください。 ここで保証したことを除いて、Perl のハッシュアルゴリズムとハッシュ横断順序の 正確な詳細は Perl のリリースによって変更される可能性があります。 -Tied hashes -may behave differently to Perl's hashes with respect to changes in order on -insertion and deletion of items. -(TBT) +tie されたハッシュは、アイテムの挿入と削除の順序に関して Perl のハッシュと +異なった振る舞いをします。 =begin original @@ -7198,8 +7183,7 @@ =end original -Starting in v5.20, Perl wil use full Unicode rules if the locale is -UTF-8. +v5.20 から、ロケールが UTF-8 の場合は Perl は完全な Unicode の規則を使います。 さもなければ、この手法には、255/266 の境界をまたぐ大文字小文字の変換は 未定義であるという欠点があります。 例えば、Unicode での LATIN CAPITAL LETTER SHARP S (U+1E9E) の小文字は @@ -7211,7 +7195,6 @@ ないからです。 Perl は 255/256 境界をまたぐ全ての(多くはありません)実体については 入力文字を変更せずに返します。 -(TBT) =item Otherwise, If EXPR has the UTF8 flag set: @@ -7725,7 +7708,8 @@ (特別なファイルハンドルである C<_> の設定を含めて) C<stat> 関数と同じことをしますが、シンボリックリンクが 指しているファイルではなく、シンボリックリンク自体の stat をとります。 -シンボリックリンクがシステムに実装されていないと、通常の C<stat> が行なわれます。 +シンボリックリンクがシステムに実装されていないと、通常の C<stat> が +行なわれます。 さらにより詳細な情報については、L<stat> の文書を参照してください。 =begin original @@ -8132,7 +8116,7 @@ System V IPC 関数 msgsnd を呼び出し、メッセージキュー ID に メッセージ MSG を送信します。 -MSG の先頭は、ネイティブなlong 整数のメッセージタイプでなければならず、 +MSG の先頭は、ネイティブな long 整数のメッセージタイプでなければならず、 メッセージの長さ、メッセージ本体と続きます。 これは、C<pack("l! a*", $type, $message)> として生成できます。 成功時には真を、エラー時には偽を返します。 @@ -8183,14 +8167,13 @@ =end original TYPE と ATTRS の正確な文法とインターフェースは今でも進化しています。 -TYPE may be a bareword, a constant declared -with C<use constant>, or C<__PACKAGE__>. +TYPE は、裸の単語、C<use constant> で宣言された定数、C<__PACKAGE__> の +いずれかです。 現在のところ、TYPE は C<fields> プラグマの使用と結び付けられていて、 属性は C<attributes> プラグマか、Perl 5.8.0 からは C<Attribute::Handlers> モジュールと結び付けられています。 -詳しくはL<perlsub/"Private Variables via my()">, L<fields>, +詳しくは L<perlsub/"Private Variables via my()">, L<fields>, L<attributes>, L<Attribute::Handlers> を参照してください。 -(TBT) =begin original @@ -8199,9 +8182,8 @@ =end original -Note that with a parenthesised list, C<undef> can be used as a dummy -placeholder, for example to skip assignment of initial values: -(TBT) +かっこで囲まれたリストでは、C<undef> は、例えば初期値の代入を飛ばすために、 +ダミーのプレースホルダとして使えることに注意してください: my ( undef, $min, $hour ) = localtime; @@ -8539,8 +8521,7 @@ MODE が C<|-> の場合、ファイル名は出力がパイプされるコマンドとして 解釈され、MODE が C<-|> の場合、ファイル名は出力がこちらに パイプされるコマンドとして解釈されます。 -2 引数(と 1 引数) の形式ではハイフン(C<->)をコマンドの代わりに -使えます。 +2 引数(と 1 引数) の形式ではハイフン(C<->)をコマンドの代わりに使えます。 これに関するさらなる例については L<perlipc/"Using open() for IPC"> を 参照してください。 (C<open> を入出力 I<両用> にパイプすることは出来ませんが @@ -8608,8 +8589,8 @@ は、Unicode 文字を含む UTF8 エンコードされたファイルを開きます; L<perluniintro> を参照してください。 3 引数形式で層を指定すると、${^OPEN} (L<perlvar> を参照してください; -通常はC<open> プラグマか B<-CioD> オプションでセットされます) -に保存されたデフォルト層は無視されることに注意してください。 +通常は C<open> プラグマか B<-CioD> オプションでセットされます) に保存された +デフォルト層は無視されることに注意してください。 これらの層は、名前なしでコロンを指定した場合にも無視されます。 この場合 OS のデフォルトの層 (Unix では :raw、Windows では :crlf) が 使われます。 @@ -8656,13 +8637,12 @@ =end original -ファイルを開く時、開くのに失敗した時に通常の処理を続けるのは -普通は悪い考えですので、C<open> はしばしば C<die> と結び付けられて -使われます。 -望むものが C<die> でない場合(例えば、CGI スクリプト のように -きれいにフォーマットされたエラーメッセージを作りたい場合 +ファイルを開く時、開くのに失敗した時に通常の処理を続けるのは普通は悪い +考えなので、C<open> はしばしば C<die> と結び付けられて使われます。 +望むものが C<die> でない場合(例えば、CGI スクリプト のようにきれいに +フォーマットされたエラーメッセージを作りたい場合 (但しこの問題を助けるモジュールがあります))でも、 -ファイルを開いた時の返り値を常にチェックするべきです。 +ファイルを開いた時の返り値を常にチェックするべきです。 =begin original @@ -8674,12 +8654,11 @@ =end original -The filehandle will be closed when its reference count reaches zero. -If it is a lexically scoped variable declared with C<my>, that usually -means the end of the enclosing scope. However, this automatic close -does not check for errors, so it is better to explicitly close -filehandles, especially those used for writing: -(TBT) +ファイルハンドルは、参照カウントが 0 になったときに閉じられます。 +これが C<my> で宣言されたレキシカルスコープを持つ変数の場合、普通は +囲まれたスコープの終わりを意味します。 +しかし、この自動閉じはエラーをチェックしないので、特に書き込み用の場合は、 +明示的にファイルハンドルを閉じる方がよいです。 close($handle) || warn "close failed: $!"; @@ -8690,8 +8669,7 @@ =end original -An older style is to use a bareword as the filehandle, as -(TBT) +より古いスタイルは、次のように、ファイルハンドルとして裸の単語を使います open(FH, "<", "input.txt") or die "cannot open < input.txt: $!"; @@ -8704,10 +8682,10 @@ =end original -Then you can use C<FH> as the filehandle, in C<< close FH >> and C<< -<FH> >> and so on. Note that it's a global variable, so this form is -not recommended in new code. -(TBT) +それから C<FH> を、C<< close FH >> や C<< <FH> >> などのように、 +ファイルハンドルとして使えます。 +これはグローバル変数なので、新しいコードでは非推奨であることに +注意してください。 =begin original @@ -8716,9 +8694,8 @@ =end original -As a shortcut a one-argument call takes the filename from the global -scalar variable of the same name as the filehandle: -(TBT) +短縮版として、1 引数呼び出しでは、ファイル名を、ファイルハンドルと同じ名前の +グローバルなスカラ変数から取ります: $ARTICLE = 100; open(ARTICLE) or die "Can't find article $ARTICLE: $!\n"; @@ -8730,9 +8707,8 @@ =end original -Here C<$ARTICLE> must be a global (package) scalar variable - not one -declared with C<my> or C<state>. -(TBT) +ここで C<$ARTICLE> はグローバル(パッケージ)スカラ変数でなければなりません - +C<my> や C<state> で宣言された変数ではありません。 =begin original @@ -8741,8 +8717,7 @@ =end original -特別な場合として、3 引数の形で読み書きモードで 3 番目の引数が -C<undef> の場合: +特別な場合として、3 引数の形で読み書きモードで 3 番目の引数が C<undef> の場合: open(my $tmp, "+>", undef) or die ... @@ -9073,11 +9048,10 @@ =end original -親プロセスでは、このファイルハンドルは -通常通りに動作しますが、行なわれる入出力は、 -チャイルドプロセスの STDIN/STDOUT にパイプされます。 -チャイルドプロセス側では、そのファイルハンドルは -オープンされず、入出力は新しい STDOUT か STDIN に対して行なわれます。 +親プロセスでは、このファイルハンドルは通常通りに動作しますが、行なわれる +入出力は、子プロセスの STDIN/STDOUT にパイプされます。 +子プロセス側では、そのファイルハンドルは開かれず、入出力は新しい STDOUT か +STDIN に対して行なわれます。 これは、setuid で実行して、シェルコマンドのメタ文字を 検索させたくないような場合に、パイプコマンドの起動の仕方を 制御したいとき、普通のパイプの open と同じように使います。 @@ -9173,9 +9147,8 @@ =end original -パイプのファイルハンドルを close することで、 -親プロセスは、チャイルドプロセスの終了を待ち、それから C<$?> と -C<${^CHILD_ERROR_NATIVE}> にステータス値を返します。 +パイプのファイルハンドルを close することで、親プロセスは、子プロセスの終了を +待ち、それから C<$?> と C<${^CHILD_ERROR_NATIVE}> にステータス値を返します。 =begin original @@ -9187,11 +9160,9 @@ =end original -1 引数 と 2 引数の形の open() に渡されたファイル名は、 -はじめと終わりの空白が取り除かれ、 -通常のリダイレクト文字列を受け付けます。 -この機能は "magic open" として知られていますが、 -普通いい効果をもたらします。 +1 引数 と 2 引数の形の open() に渡されたファイル名は、はじめと終わりの空白が +取り除かれ、通常のリダイレクト文字列を受け付けます。 +この機能は "magic open" として知られていますが、普通いい効果をもたらします。 ユーザーは F<"rsh cat file |"> といったファイル名を指定できますし、 特定のファイル名を必要に応じて変更できます。 @@ -9394,10 +9365,8 @@ C<our> は C<my> や C<state> と同じスコープルールを持ちます; つまり レキシカルスコープの中でだけ有効です。 -Unlike C<my> and C<state>, which both -declare new (lexical) variables, C<our> only creates an alias to an -existing variable: a package variable of the same name. -(TBT) +新しい(レキシカル)変数を宣言する C<my> や C<state> と異なり、C<our> は既に +存在する変数への別名を作るだけです: 同じ名前のパッケージ変数です。 =begin original @@ -9432,9 +9401,8 @@ =end original -This works even if the package variable has not been used before, as -package variables spring into existence when first used. -(TBT) +これはパッケージ変数がまだ使われていなくても動作します; パッケージ変数は、 +最初に使われた時にひょっこり現れるからです。 package Foo; use strict; @@ -9542,9 +9510,8 @@ =end original -Note that with a parenthesised list, C<undef> can be used as a dummy -placeholder, for example to skip assignment of initial values: -(TBT) +かっこで囲まれたリストでは、C<undef> は、例えば初期値の代入を飛ばすために、 +ダミーのプレースホルダとして使えることに注意してください: our ( undef, $min, $hour ) = localtime; @@ -9555,9 +9522,8 @@ =end original -C<our> differs from C<use vars>, which allows use of an unqualified name -I<only> within the affected package, but across scopes. -(TBT) +C<our> は C<use vars> と異なります; スコープをまたぐのではなく、影響する +パッケージの内側 I<のみ> で完全修飾されていない名前を使えるようにします。 =item pack TEMPLATE,LIST X<pack> @@ -9684,8 +9650,8 @@ i signed int 値。 I unsigned int 値。 - (ここでの 'integer' は 「最低」 32 bits 幅です。正確なサイズは - ローカルの C コンパイラの'int'のサイズに依存します。) + (ここでの 'integer' は 「最低」 32 ビット幅です。正確なサイズは + ローカルの C コンパイラの 'int' のサイズに依存します。) =begin original @@ -10043,7 +10009,8 @@ =end original -繰り返し数が C<*> なら、オフセットは pack された文字列の先頭からの相対位置です。 +繰り返し数が C<*> なら、オフセットは pack された文字列の先頭からの +相対位置です。 =item * @@ -10143,8 +10110,7 @@ =end original -pack() の入力文字列の先頭から始めて、8 タプル毎に 1 文字の出力に -変換されます。 +pack() の入力文字列の先頭から始めて、8 タプル毎に 1 文字の出力に変換されます。 C<b> フォーマットでは 8 タプルの最初の文字が出力の最下位ビットとなります; C<B> フォーマットでは出力の最上位ビットとなります。 @@ -10210,9 +10176,8 @@ 基にします(つまり C<ord($char)%16>)。 特に、文字 C<"0"> と C<"1"> はバイト C<"\000"> と C<"\001"> と同様に ニブル 0 と 1 を生成します。 -文字 C<"a".."f"> と C<"A".."F"> の場合は結果は通常の -16 進数と同じ結果になりますので、C<"a"> と C<"A"> はどちらも -ニブル C<0xa==10> を生成します。 +文字 C<"a".."f"> と C<"A".."F"> の場合は結果は通常の 16 進数と同じ結果に +なるので、C<"a"> と C<"A"> はどちらも ニブル C<0xa==10> を生成します。 これらの 16 進文字はこの特定のフォーマットでだけ使ってください。 =begin original @@ -10257,8 +10222,7 @@ =end original -繰り返し数として C<*> が指定されると、入力フィールドの全ての文字が -使われます。 +繰り返し数として C<*> が指定されると、入力フィールドの全ての文字が使われます。 unpack() 時にはニブルは 16 進数の文字列に変換されます。 =item * @@ -10527,8 +10491,9 @@ =end original -I<ビッグエンディアン> と I<リトルエンディアン> の名前は -古典である「ガリバー旅行記」とリリパット族の卵を食べる習慣から +I<ビッグエンディアン> と I<リトルエンディアン> の名前は、 +ジョナサン=スウィフトによる風刺小説の古典 I<ガリバー旅行記> での、卵を +小さい方からむくリリパット国と大きい方からむくブレフスキュ国から 取られています。 "On Holy Wars and a Plea for Peace" by Danny Cohen, USC/ISI IEN 137, April 1, 1980 の文書からコンピュータ用語として取り入れられました。 @@ -10679,9 +10644,8 @@ うまくいきます。 たとえ全てのプラットフォームが IEEE を使っていても、そこには微妙な違いが あるかもしれません。 -浮動小数点数に C<< > >> や C<< < >> が使えることは便利な場合が -ありますが、もし自分が何をしているかを正確に理解していなければ、 -危険です。 +浮動小数点数に C<< > >> や C<< < >> が使えることは便利な場合がありますが、 +もし自分が何をしているかを正確に理解していなければ、危険です。 移植性のある浮動小数点数の保存のための一般的な方法はありません。 =item * @@ -10719,9 +10683,8 @@ =end original 実数 (float と double) は、機種依存のフォーマットしかありません。 -いろんな浮動小数点数のフォーマットが在り、標準的な -"network" 表現といったものがないため、データ交換のための機能は -用意してありません。 +いろんな浮動小数点数のフォーマットが在り、標準的な "network" 表現といったものが +ないため、データ交換のための機能は用意してありません。 つまり、あるマシンで pack した浮動小数点数は、別のマシンでは 読めないかもしれないということです; たとえ双方で IEEE フォーマットの 浮動小数点数演算を行なっていてもです (IEEE の仕様では、メモリ表現上の @@ -10748,10 +10711,9 @@ =end original -Perl では、すべての数値演算のために、内部的に double (または -設定によっては long double) を使用しているので、 -double から float へ変換し、それから再び double に戻すと -精度が落ちることになり、C<unpack("f", pack("f", $foo)>) は、 +Perl では、すべての数値演算のために、内部的に double (または設定によっては +long double) を使用しているので、double から float へ変換し、それから再び +double に戻すと精度が落ちることになり、C<unpack("f", pack("f", $foo)>) は、 一般には $foo と同じではありません。 =item * @@ -10910,8 +10872,7 @@ =end original -C<n>, C<N>, C<v>, C<V> は -ビッグ/リトルエンディアンの順序で符号付き 16 または +C<n>, C<N>, C<v>, C<V> はビッグ/リトルエンディアンの順序で符号付き 16 または 32 ビット整数で表現するための C<!> 修飾子を受け入れます。 これは pack されたデータを共有する全てのプラットフォームが 符号付き整数について同じバイナリ表現を使う場合にのみ移植性があります; @@ -11166,11 +11127,10 @@ =end original -対応するシステムコールと同じように、 -接続されたパイプのペアをオープンします。 +対応するシステムコールと同じように、接続されたパイプのペアを開きます。 パイプでプロセスをループにするときには、よほど気を付けないと、 デッドロックが起こり得ます。 -さらに、Perl のパイプでは、IO のバッファリングを使いますから、 +さらに、Perl のパイプでは、IO のバッファリングを使ので、 アプリケーションによっては、コマンドごとに WRITEHANDLE を フラッシュするように、C<$|> を設定することが必要になるかもしれません。 @@ -11477,11 +11437,11 @@ =end original 歴史的な理由により、リストを省略すると、フォーマットとして C<$_> が使われます; -リストなしで FILEHANDLE を使用するには、 -C<$fh> のような間接ファイルハンドルではなく、C<FH> のような実際の +リストなしで FILEHANDLE を使用するには、C<$fh> のような +間接ファイルハンドルではなく、C<FH> のような実際の ファイルハンドルを使わなければなりません。 -しかし、これがあなたが求めていることをすることはまれです; -$_ がフォーマッティングコードの場合、空文字列に置き換えられ、警告が有効なら +しかし、これがあなたが求めていることをすることはまれです; $_ が +フォーマッティングコードの場合、空文字列に置き換えられ、警告が有効なら 警告が出力されます。 $_ の内容を表示したい場合は、単に C<print> を使ってください。 @@ -11766,8 +11726,7 @@ また、C<use feature 'unicode_strings'> の範囲外で非 UTF-8 文字列を クォートするのも変わりません; 上位の Latin1 の範囲の全ての文字を クォートします。 -これは Unicode を使わない古いプログラムに対して完全な後方互換性を -提供します。 +これは Unicode を使わない古いプログラムに対して完全な後方互換性を提供します。 (C<unicode_strings> は S<C<use v5.12>> またはそれ以上のスコープでは 自動的に有効になることに注意してください。) @@ -11898,8 +11857,7 @@ 現在のところ、EXPR に値 C<0> をセットすると C<1> として特別扱いされます (これは Perl 5.8.0 以前には文書化されておらず、将来のバージョンの perl では 変更される可能性があります)。 -C<srand> が既に呼ばれている場合以外は、自動的に C<srand> 関数を -呼び出します。 +C<srand> が既に呼ばれている場合以外は、自動的に C<srand> 関数を呼び出します。 C<srand> も参照してください。 =begin original @@ -11949,8 +11907,8 @@ B<C<rand()> は暗号学的に安全ではありません。 セキュリティ的に重要な状況でこれに頼るべきではありません。> これを書いている時点で、いくつかのサードパーティ CPAN モジュールが -作者によって暗号学的に安全であることを目的とした乱数生成器を -提供しています: L<Data::Entropy>, L<Crypt::Random>, L<Math::Random::Secure>, +作者によって暗号学的に安全であることを目的とした乱数生成器を提供しています: +L<Data::Entropy>, L<Crypt::Random>, L<Math::Random::Secure>, L<Math::TrulyRandom> などです。 =item read FILEHANDLE,SCALAR,LENGTH,OFFSET @@ -11971,13 +11929,12 @@ =end original -指定した FILEHANDLE から、変数 SCALAR に LENGTH I<文字> の -データを読み込みます。 -実際に読み込まれた文字数、 -ファイル終端の場合は C<0>、エラーの場合は undef のいずれかを返します -(後者の場合、C<$!> もセットされます)。 -SCALAR は伸び縮みするので、 -読み込み後は、実際に読み込んだ最後の文字がスカラの最後の文字になります。 +指定した FILEHANDLE から、変数 SCALAR に LENGTH I<文字> のデータを +読み込みます。 +実際に読み込まれた文字数、ファイル終端の場合は C<0>、エラーの場合は undef の +いずれかを返します (後者の場合、C<$!> もセットされます)。 +SCALAR は伸び縮みするので、読み込み後は、実際に読み込んだ最後の文字がスカラの +最後の文字になります。 =begin original @@ -11994,9 +11951,8 @@ できます。 OFFSET に負の値を指定すると、文字列の最後から逆向きに何文字目かで 位置を指定します。 -OFFSET が正の値で、SCALAR の長さよりも大きかった場合、文字列は -読み込みの結果が追加される前に、必要なサイズまで C<"\0"> のバイトで -パッディングされます。 +OFFSET が正の値で、SCALAR の長さよりも大きかった場合、文字列は読み込みの結果が +追加される前に、必要なサイズまで C<"\0"> のバイトでパッディングされます。 =begin original @@ -12045,10 +12001,9 @@ =end original -C<opendir> でオープンしたディレクトリで、 -次のディレクトリエントリを返します。 -リストコンテキストで用いると、 -そのディレクトリの残りのエントリを、すべて返します。 +C<opendir> でオープンしたディレクトリで、次のディレクトリエントリを返します。 +リストコンテキストで用いると、そのディレクトリの残りのエントリを、すべて +返します。 エントリが残っていない場合には、スカラコンテキストでは未定義値を、 リストコンテキストでは空リストを返します。 @@ -12219,8 +12174,7 @@ =end original -シンボリックリンクが実装されていれば、 -シンボリックリンクの値を返します。 +シンボリックリンクが実装されていれば、シンボリックリンクの値を返します。 実装されていないときには、例外が発生します。 何らかのシステムエラーが検出されると、未定義値を返し、 C<$!> (errno) を設定します。 @@ -12260,10 +12214,8 @@ スカラコンテキストでは、単一の(内部的に複数行の)文字列を返します。 リストコンテキストでは、行のリストを返します (但し、行は C<$/> または C<$INPUT_RECORD_SEPARATOR> で定義されます)。 -これは C<qx/EXPR/> 演算子を実装する内部関数ですが、 -直接使うことも出来ます。 -C<qx/EXPR/> 演算子は L<perlop/"I/O Operators"> でより詳細に -述べられています。 +これは C<qx/EXPR/> 演算子を実装する内部関数ですが、直接使うことも出来ます。 +C<qx/EXPR/> 演算子は L<perlop/"I/O Operators"> でより詳細に述べられています。 EXPR が省略されると、C<$_> を使います。 =item recv SOCKET,SCALAR,LENGTH,FLAGS @@ -12285,10 +12237,9 @@ =end original ソケット上のメッセージを受信します。 -指定されたファイルハンドル SOCKET から、変数 SCALAR に +指定されたファイルハンドル SOCKET から、変数 SCALAR に LENGTH 文字のデータを読み込もうとします。 -SCALAR は、実際に読まれた長さによって、大きくなったり、 -小さくなったりします。 +SCALAR は、実際に読まれた長さによって、大きくなったり、小さくなったりします。 同名のシステムコールと同じフラグが指定できます。 SOCKET のプロトコルが対応していれば、送信側のアドレスを返します。 エラー発生時には、未定義値を返します。 @@ -12370,8 +12321,8 @@ =end original -C<redo> は C<eval {}>, C<sub {}>, C<do {}> のように値を返す -ブロックを繰り返すのには使えません; また、grep() や map() 操作から抜けるのに +C<redo> は C<eval {}>, C<sub {}>, C<do {}> のように値を返すブロックを +繰り返すのには使えません; また、grep() や map() 操作から抜けるのに 使うべきではありません。 =begin original @@ -12502,11 +12453,10 @@ 参照されるオブジェクトが、何らかのパッケージに bless されたものであれば、 これらの代わりに、そのパッケージ名が返されます。 -But don't use that, as it's now considered -"bad practice". For one reason, an object could be using a class called -C<Regexp> or C<IO>, or even C<HASH>. Also, C<ref> doesn't take into account -subclasses, like C<isa> does. -(TBT) +しかし、これは今では「悪い習慣」と考えられているので、しないでください。 +理由の一つは、オブジェクトは C<Regexp>, C<IO> や C<HASH> などと呼ばれる +クラスを使うかも知れないからです。 +また、C<ref> は C<isa> のようにサブクラスを考慮したりはしません。 =begin original @@ -12517,11 +12467,10 @@ =end original -Instead, use C<blessed> (in the L<Scalar::Util> module) for boolean -checks, C<isa> for specific class checks and C<reftype> (also from -L<Scalar::Util>) for type checks. (See L<perlobj> for details and a -C<blessed/isa> example.) -(TBT) +代わりに、真偽値チェックには (L<Scalar::Util> モジュールにある) +C<blessed> を、特定のクラスのチェックには C<isa> を、型のチェックには +(これも L<Scalar::Util> にある) C<reftype> を使ってください。 +(詳細と C<blessed/isa> の例については L<perlobj> を参照してください。) =begin original @@ -12728,12 +12677,10 @@ =end original -初期化コードの実行がうまくいったことを示すために、 -ファイルは真を返さなければなりませんから、 -真を返すようになっている自信がある場合を除いては、 +初期化コードの実行がうまくいったことを示すために、ファイルは真を +返さなければならないので、真を返すようになっている自信がある場合を除いては、 ファイルの最後に C<1;> と書くのが習慣です。 -実行文を追加するような場合に備えて、C<1;> と書いておいた方が -良いでしょう。 +しかし、実行文を追加するような場合に備えて、C<1;> と書いておいた方が良いです。 =begin original @@ -12744,11 +12691,10 @@ =end original -EXPR が裸の単語であるときには、標準モジュールのロードを -簡単にするように、require は拡張子が "F<.pm>" であり、 -"F<::>" を "F</>" に変えたものがファイル名であると仮定します。 -この形式のモジュールロードは、 -名前空間を変更してしまう危険はありません。 +EXPR が裸の単語であるときには、標準モジュールのロードを簡単にするように、 +require は拡張子が "F<.pm>" であり、"F<::>" を "F</>" に変えたものが +ファイル名であると仮定します。 +この形式のモジュールロードは、名前空間を変更してしまう危険はありません。 =begin original @@ -12843,8 +12789,7 @@ サブルーチンは二つの引数と共に呼び出されます; 一つ目は自身へのリファレンス、二つ目はインクルードされるファイル名 ("F<Foo/Bar.pm>" など)です。 -サブルーチンは何も返さないか、以下の順で最大四つの値のリストを -返します。 +サブルーチンは何も返さないか、以下の順で最大四つの値のリストを返します。 =over @@ -12857,9 +12802,8 @@ =end original -A reference to a scalar, containing any initial source code to prepend to -the file or generator output. -(TBT) +ファイルやジェネレータの出力の前に追加される初期化ソースコードを含む +スカラへのリファレンス。 =item 2 @@ -12886,10 +12830,9 @@ =end original サブルーチンへのリファレンス。 -(一つ前のアイテムである)ファイルハンドルがない場合、 -サブルーチンは呼び出し毎に一行のソースコードを生成し、その行を C<$_> に -書き込んで 1 を返し、それから最終的にファイル終端で 0 を返すものと -想定されます。 +(一つ前のアイテムである)ファイルハンドルがない場合、サブルーチンは呼び出し毎に +一行のソースコードを生成し、その行を C<$_> に書き込んで 1 を返し、それから +最終的にファイル終端で 0 を返すものと想定されます。 ファイルハンドルがある場合、サブルーチンは単純なソースフィルタとして 振舞うように呼び出され、行は C<$_> から読み込まれます。 再び、有効な行ごとに 1 を返し、全ての行を返した後では 0 を返します。 @@ -13036,8 +12979,8 @@ =end original -通常、ループの最後に、変数をクリアし、C<??> 検索を再び -動作するようにリセットするため、C<continue> ブロックで使われます。 +通常、ループの最後に、変数をクリアし、C<??> 検索を再び動作するように +リセットするため、C<continue> ブロックで使われます。 EXPR は、文字を並べたもの (範囲を指定するのに、ハイフンが使えます) と 解釈されます。 名前がその文字のいずれかで始まる変数や配列は、 @@ -13063,11 +13006,10 @@ =end original reset C<"A-Z"> とすると、C<@ARGV>, C<@INC> 配列や C<%ENV> ハッシュも -なくなってしまいますから、止めた方が良いでしょう。 -パッケージ変数だけがリセットされます; -レキシカル変数は、影響を受けませんが、スコープから外れれば、 -自動的に綺麗になりますので、これからは、こちらを使うようにした方が -よいでしょう。 +なくなってしまうので、止めた方が良いでしょう。 +パッケージ変数だけがリセットされます; レキシカル変数は影響を受けませんが、 +スコープから外れれば自動的に綺麗になるので、これからはこちらを +使うようにした方がよいでしょう。 L</my> を参照してください。 =item return EXPR @@ -13105,8 +13047,8 @@ =end original -(サブルーチン, eval, do FILE に明示的に C<return> が -なければ、最後に評価された値で、自動的にリターンします。) +(サブルーチン, eval, do FILE に明示的に C<return> がなければ、最後に +評価された値で、自動的にリターンします。) =begin original @@ -13847,8 +13789,8 @@ シグナルを送信や、待ち合わせなどのセマフォ操作を行なうために、 System V IPC 関数 semop(2) を呼び出します。 OPSTRING は、semop 構造体の pack された配列でなければなりません。 -semop 構造体は、それぞれ、 -C<pack("s!3", $semnum, $semop, $semflag)> のように作ることができます。 +semop 構造体は、それぞれ、C<pack("s!3", $semnum, $semop, $semflag)> のように +作ることができます。 セマフォ操作の数は、OPSTRING の長さからわかります。 成功時には真を、エラー時には偽を返します。 以下の例は、セマフォ ID $semid のセマフォ $semnum で @@ -13973,8 +13915,7 @@ プロセス、プロセスグループ、ユーザに対する優先順位を設定します。 (setpriority(2) を参照してください。) -setpriority(2) が実装されていないマシンでは、 -例外が発生します。 +setpriority(2) が実装されていないマシンでは、例外が発生します。 =begin original @@ -14046,13 +13987,12 @@ =end original -配列の最初の値を取り出して、その値を返し、配列を一つ -短くして、すべての要素を前へずらします。 +配列の最初の値を取り出して、その値を返し、配列を一つ短くして、すべての要素を +前へずらします。 配列に要素がなければ、未定義値を返します。 -ARRAY を省略すると、 -サブルーチンやフォーマットのレキシカルスコープでは C<@_> を、 -サブルーチンの外側で、C<eval STRING>, C<BEGIN {}>, C<INIT {}>, C<CHECK {}>, -C<UNITCHECK {}>, C<END {}> で作成されたレキシカルスコープでは +ARRAY を省略すると、サブルーチンやフォーマットのレキシカルスコープでは +C<@_> を、サブルーチンの外側で、C<eval STRING>, C<BEGIN {}>, C<INIT {}>, +C<CHECK {}>, C<UNITCHECK {}>, C<END {}> で作成されたレキシカルスコープでは C<@ARGV> が用いられます。 =begin original @@ -14095,8 +14035,8 @@ =end original C<unshift>、C<push>、C<pop> も参照してください。 -C<shift> と C<unshift> は、C<pop> と -C<push> が配列の右端で行なうことを、左端で行ないます。 +C<shift> と C<unshift> は、C<pop> と C<push> が配列の右端で行なうことを、 +左端で行ないます。 =item shmctl ID,CMD,ARG X<shmctl> @@ -14187,17 +14127,16 @@ =end original -System V 共有メモリセグメント ID に対し、アタッチして、 -コピーを行ない、デタッチするという形で、位置 POS から、 -サイズ SIZE だけ、読み込みか書き込みを行ないます。 -読み込み時には、VAR は読み込んだデータを納める -変数でなければなりません。 +System V 共有メモリセグメント ID に対し、アタッチして、コピーを行ない、 +デタッチするという形で、位置 POS から、サイズ SIZE だけ、読み込みか書き込みを +行ないます。 +読み込み時には、VAR は読み込んだデータを納める変数でなければなりません。 書き込み時には、STRING が長すぎても、SIZE バイトだけが使われます; STRING が 短すぎる場合には、SIZE バイトを埋めるために、ヌル文字が書き込まれます。 成功時には真を、エラー時には偽を返します。 shmread() は変数を汚染します。 -L<perlipc/"SysV IPC"> および C<IPC::SysV> と、 -CPAN の C<IPC::Shareable> も参照してください。 +L<perlipc/"SysV IPC"> および C<IPC::SysV> と、CPAN の C<IPC::Shareable> も +参照してください。 =begin original @@ -14353,9 +14292,8 @@ =end original -1 秒より精度の高いスリープを行なうには、 -Time::HiRes モジュール(CPAN から、また Perl 5.8 からは -標準配布されています) が usleep() を提供します。 +1 秒より精度の高いスリープを行なうには、Time::HiRes モジュール(CPAN から、 +また Perl 5.8 からは標準配布されています) が usleep() を提供します。 Perl の 4 引数版 select() を最初の 3 引数を未定義にして使うか、 setitimer(2) をサポートしているシステムでは、Perl の C<syscall> インタフェースを使ってアクセスすることもできます。 @@ -14384,11 +14322,9 @@ =end original -指定した種類のソケットをオープンし、ファイルハンドル -SOCKET にアタッチします。 +指定した種類のソケットをオープンし、ファイルハンドル SOCKET にアタッチします。 DOMAIN, TYPE, PROTOCOL は、同名のシステムコールと同じように指定します。 -適切な定義を import するために、まず、C<use Socket> と -するとよいでしょう。 +適切な定義を import するために、まず、C<use Socket> とするとよいでしょう。 L<perlipc/"Sockets: Client/Server Communication"> の例を参照してください。 =begin original @@ -14505,17 +14441,15 @@ =end original -SUBNAME や BLOCK を省略すると、標準の文字列比較の順番でソートが -行なわれます。 +SUBNAME や BLOCK を省略すると、標準の文字列比較の順番でソートが行なわれます。 SUBNAME を指定すると、それは、リストの要素をどのような順番に並べるかに 応じて、負、ゼロ、正の整数を返すサブルーチンの名前であると解釈されます。 (このようなルーチンには、C<< <=> >> 演算子や cmp 演算子が、 たいへん便利です。) -SUBNAME は、スカラ変数名(添字なし)でもよく、 -その場合には、その値が使用する実際のサブルーチンの -名前(またはそのリファレンス)と解釈されます。 -SUBNAME の代わりに、無名のインライン -ソートルーチンとして、BLOCK を書くことができます。 +SUBNAME は、スカラ変数名(添字なし)でもよく、その場合には、その値が使用する +実際のサブルーチンの名前(またはそのリファレンス)と解釈されます。 +SUBNAME の代わりに、無名のインラインソートルーチンとして、BLOCK を +書くことができます。 =begin original @@ -14613,16 +14547,14 @@ =end original Perl 5.6 以前ではソートの実装にクイックソートアルゴリズムを使っていました。 -このアルゴリズムは安定していないので、2 乗の時間が掛かる -I<可能性があります>。 +このアルゴリズムは安定していないので、2 乗の時間が掛かる I<可能性があります>。 (I<安定した> ソートは、比較した時に同じ要素の入力順が保存されます。 -クイックソートの実行時間は、長さ N の全ての配列の平均では -O(NlogN) ですが、入力によっては O(N**2) という I<2 乗の> 振る舞いを -することがあります。) -5.7 では、クイックソートによる実装は、最悪の場合の振る舞いも -O(NlogN) である、安定したマージソートアルゴリズムに置き換えられました。 -しかし、入力とプラットフォームによっては、ベンチマークはクイックソートの -方が速くなります。 +クイックソートの実行時間は、長さ N の全ての配列の平均では O(NlogN) ですが、 +入力によっては O(N**2) という I<2 乗の> 振る舞いをすることがあります。) +5.7 では、クイックソートによる実装は、最悪の場合の振る舞いも O(NlogN) である、 +安定したマージソートアルゴリズムに置き換えられました。 +しかし、入力とプラットフォームによっては、ベンチマークはクイックソートの方が +速くなります。 5.8 ではソートを限定的に制御できる sort プラグマがあります。 この、アルゴリズムの直接的な制御方法は将来の perl では引き継がれないかも しれませんが、実装に依存しない形で入力や出力を性格付ける機能は @@ -14764,8 +14696,7 @@ =end original -use strict している場合、$a と $b をレキシカルとして -宣言しては I<いけません>。 +use strict している場合、$a と $b をレキシカルとして宣言しては I<いけません>。 これはパッケージグローバルです。 つまり、C<main> パッケージで以下のように書いた場合: @@ -14806,10 +14737,9 @@ =end original -C<< <=> >> はどちらかのオペランドが C<NaN> (not-a-number) のときに -C<undef> を返すので、 -C<< $a <=> $b >> といった比較関数でソートする場合はリストに C<NaN> が -含まれないように注意してください。 +C<< <=> >> はどちらかのオペランドが C<NaN> (not-a-number) のときに C<undef> を +返すので、C<< $a <=> $b >> といった比較関数でソートする場合はリストに +C<NaN> が含まれないように注意してください。 以下の例は 入力リストから C<NaN> を取り除くために C<NaN != NaN> という性質を 利用しています。 @@ -14877,8 +14807,7 @@ =end original -C<splice> can be used, for example, to implement n-ary queue processing: -(TBT) +C<splice> は、例えば、n-ary キュー処理の実装に使えます: sub nary_print { my $n = shift; @@ -15095,8 +15024,7 @@ =end original LIMIT が指定された正数の場合、EXPR が分割されるフィールドの最大数を -表現します; 言い換えると、 LIMIT は EXPR が分割される数より一つ大きい -数です。 +表現します; 言い換えると、 LIMIT は EXPR が分割される数より一つ大きい数です。 従って、LIMIT の値 C<1> は EXPR が最大 0 回分割されるということで、 最大で一つのフィールドを生成します (言い換えると、EXPR 全体の値です)。 例えば: @@ -15350,10 +15278,9 @@ =end original -Perl は C<sprintf> フォーマット処理を自力で行います: -これは C の sprintf(3) 関数をエミュレートしますが、 -C の関数は使いません(浮動小数点を除きますが、それでも標準の -記述子のみが利用できます)。 +Perl は C<sprintf> フォーマット処理を自力で行います: これは C の +sprintf(3) 関数をエミュレートしますが、C の関数は使いません(浮動小数点を +除きますが、それでも標準の記述子のみが利用できます)。 従って、ローカルな非標準の C<sprintf> 拡張機能は Perl では使えません。 =begin original @@ -16310,8 +16237,7 @@ =end original -(これは、NFS のもとでデバイス番号が負になるマシンで -のみ動作します。) +(これは、NFS のもとでデバイス番号が負になるマシンでのみ動作します。) =begin original @@ -16491,11 +16417,10 @@ =end original -If more than one variable is listed, the list must be placed in -parentheses. With a parenthesised list, C<undef> can be used as a -dummy placeholder. However, since initialization of state variables in -list context is currently not possible this would serve no purpose. -(TBT) +複数の変数を指定する場合、かっこで囲まなければなりません。 +かっこで囲まれたリストでは、C<undef> はダミーのプレースホルダとして使えます。 +しかし、リストコンテキストでの state 変数の初期化は現在のところできないので、 +これは無意味です。 =begin original @@ -16899,8 +16824,8 @@ 文字列リテラル(あるいはその他の読み込み専用の文字列)を C<syscall> の 引数として使うことはできません; Perl は全ての文字列ポインタは書き込まれると 仮定しなければならないからです。 -整数引数が、リテラルでなく、数値コンテキストで評価されたことの -ないものであれば、数値として解釈されるように、 +整数引数が、リテラルでなく、数値コンテキストで評価されたことのない +ものであれば、数値として解釈されるように、 C<0> を足しておく必要があるかもしれません。 以下は C<syswrite> 関数(あるいはその逆)をエミュレートします。 @@ -16945,9 +16870,8 @@ =end original -C<syscall(&SYS_pipe)> には問題があり、 -作ったパイプの、読み出し側のファイル番号を返しますが、 -もう一方のファイル番号を得る方法がありません。 +C<syscall(&SYS_pipe)> には問題があり、作ったパイプの、読み出し側の +ファイル番号を返しますが、もう一方のファイル番号を得る方法がありません。 この問題を避けるためには、代わりに C<pipe> を使ってください。 =begin original @@ -17122,7 +17046,8 @@ =end original -ファイル操作に関するより親切な説明については L<perlopentut> を参照してください。 +ファイルを開くことに関するより親切な説明については L<perlopentut> を +参照してください。 =begin original @@ -17175,13 +17100,11 @@ =end original -OFFSET を指定すると、文字列の先頭以外の場所から、読み込みを行なうことが -できます。 +OFFSET を指定すると、文字列の先頭以外の場所から読み込みを行なえます。 OFFSET に負の値を指定すると、文字列の最後から逆向きに何文字目かで 位置を指定します。 -OFFSET が正の値で、SCALAR の長さよりも大きかった場合、文字列は -読み込みの結果が追加される前に、必要なサイズまで C<"\0"> のバイトで -パッディングされます。 +OFFSET が正の値で、SCALAR の長さよりも大きかった場合、文字列は読み込みの結果が +追加される前に、必要なサイズまで C<"\0"> のバイトでパッディングされます。 =begin original @@ -17193,8 +17116,7 @@ syseof() 関数はありませんが、問題ありません; どちらにしろ eof() は (tty のような)デバイスファイルに対してはうまく動作しないからです。 -sysread() を使って、 返り値が 0 かどうかで最後まで読んだかを -判断してください。 +sysread() を使って、 返り値が 0 かどうかで最後まで読んだかを判断してください。 =begin original @@ -17334,10 +17256,9 @@ 異なります)に渡されます。 シェルのメタ文字がなかった場合、引数は単語に分解されて直接 C<execvp> に 渡されます; この方がより効率的です。 -On Windows, only the C<system PROGRAM LIST> syntax will -reliably avoid using the shell; C<system LIST>, even with more than one -element, will fall back to the shell if the first spawn fails. -(TBT) +Windows では、C<system PROGRAM LIST> 構文のみが安定してシェルの使用を +回避します; C<system LIST> は、2 要素以上でも、最初の spawn が失敗すると +シェルにフォールバックします。 =begin original @@ -17423,9 +17344,8 @@ =end original -C<system> の失敗を手動で検査したいなら、 -以下のように C<$?> を調べることで、全ての失敗の可能性を -チェックできます: +C<system> の失敗を手動で検査したいなら、以下のように C<$?> を調べることで、 +全ての失敗の可能性をチェックできます: if ($? == -1) { print "failed to execute: $!\n"; @@ -17570,8 +17490,8 @@ FILEHANDLE の現在の位置を I<バイト数で> 返します; エラーの場合は -1 を 返します。 FILEHANDLE は、実際のファイルハンドル名を示す式でもかまいません。 -FILEHANDLE が省略された場合には、 -最後に読み込みを行なったファイルについて調べます。 +FILEHANDLE が省略された場合には、最後に読み込みを行なったファイルについて +調べます。 =begin original @@ -18928,9 +18848,8 @@ =end original リストコンテキストでは、指定したハッシュのすべての値を返します。 -Perl 5.12 以降でのみ、配列の全ての値からなるリストも -返します; このリリースの前では、配列要素に使おうとすると文法エラーが -発生します。 +Perl 5.12 以降でのみ、配列の全ての値からなるリストも返します; +このリリースの前では、配列要素に使おうとすると文法エラーが発生します。 スカラコンテキストでは、値の数を返します。 =begin original @@ -18963,10 +18882,8 @@ L<perlsec/"Algorithmic Complexity Attacks"> を参照してください。 ここで保証したことを除いて、Perl のハッシュアルゴリズムとハッシュ横断順序の 正確な詳細は Perl のリリースによって変更される可能性があります。 -Tied hashes -may behave differently to Perl's hashes with respect to changes in order on -insertion and deletion of items. -(TBT) +tie されたハッシュは、アイテムの挿入と削除の順序に関して Perl のハッシュと +異なった振る舞いをします。 =begin original @@ -19924,7 +19841,7 @@ Translate: 吉村 寿人 <JAE00****@nifty*****> Update: SHIRAKATA Kentaro <argra****@ub32*****> (5.6.1-) -Status: in progress +Status: completed =end meta