argra****@users*****
argra****@users*****
2013年 3月 29日 (金) 06:03:33 JST
Index: docs/perl/5.16.1/perlfunc.pod diff -u docs/perl/5.16.1/perlfunc.pod:1.2 docs/perl/5.16.1/perlfunc.pod:1.3 --- docs/perl/5.16.1/perlfunc.pod:1.2 Thu Jan 31 01:15:57 2013 +++ docs/perl/5.16.1/perlfunc.pod Fri Mar 29 06:03:33 2013 @@ -267,10 +267,9 @@ =end original -C<fc> is available only if the C<"fc"> feature is enabled or if it is -prefixed with C<CORE::>. The C<"fc"> feature is enabled automatically -with a C<use v5.16> (or higher) declaration in the current scope. -(TBT) +C<fc> は C<"fc"> 機能が有効か C<CORE::> が前置されたときにのみ利用可能です。 +C<"fc"> 機能は現在のスコープで C<use v5.16> (またはそれ以上) が宣言されると +自動的に有効になります。 =item Regular expressions and pattern matching X<regular expression> X<regex> X<regexp> @@ -339,10 +338,9 @@ =end original -C<say> is available only if the C<"say"> feature is enabled or if it is -prefixed with C<CORE::>. The C<"say"> feature is enabled automatically -with a C<use v5.10> (or higher) declaration in the current scope. -(TBT) +C<say> は C<"say"> 機能が有効か C<CORE::> が前置されたときにのみ利用可能です。 +C<"say"> 機能は現在のスコープで C<use v5.10> (またはそれ以上) が宣言されると +自動的に有効になります。 =item Functions for fixed-length data or records @@ -389,14 +387,14 @@ =end original -C<break> is available only if you enable the experimental C<"switch"> -feature or use the C<CORE::> prefix. The C<"switch"> feature also enables -the C<default>, C<given> and C<when> statements, which are documented in -L<perlsyn/"Switch Statements">. The C<"switch"> feature is enabled -automatically with a C<use v5.10> (or higher) declaration in the current -scope. In Perl v5.14 and earlier, C<continue> required the C<"switch"> -feature, like the other keywords. -(TBT) +C<break> は C<"switch"> 機能が有効か C<CORE::> 接頭辞を使ったときにのみ +利用可能です。 +C<"switch"> 機能は L<perlsyn/"Switch Statements"> で文書化されている +C<default>, C<given>, C<when> 文も有効にします。 +C<"switch"> 機能は現在のスコープで C<use v5.10> (またはそれ以上) が +宣言されると自動的に有効になります。 +Perl v5.14 以前では、C<continue> は他のキーワードと同様に C<"switch"> 機能が +必要です。 =begin original @@ -408,12 +406,12 @@ =end original -C<evalbytes> is only available with with the C<"evalbytes"> feature (see -L<feature>) or if prefixed with C<CORE::>. C<__SUB__> is only available -with with the C<"current_sub"> feature or if prefixed with C<CORE::>. Both -the C<"evalbytes"> and C<"current_sub"> features are enabled automatically -with a C<use v5.16> (or higher) declaration in the current scope. -(TBT) +C<evalbytes> は C<"evalbytes"> 機能 (L<feature> 参照) が有効か C<CORE::> が +前置されたときにのみ利用可能です。 +C<__SUB__> は C<"current_sub"> 機能が有効か C<CORE::> が前置されたときにのみ +利用可能です。 +C<"evalbytes"> と C<"current_sub"> の両方の機能は現在のスコープで +C<use v5.16> (またはそれ以上) が宣言されると自動的に有効になります。 =item Keywords related to scoping @@ -433,9 +431,8 @@ C<state> は C<"state"> 機能が有効か C<CORE::> を前置した場合にのみ 利用可能です。 -The C<"state"> feature is enabled automatically -with a C<use v5.10> (or higher) declaration in the current scope. -(TBT) +C<"state"> 機能は現在のスコープで C<use v5.10> (またはそれ以上) を宣言した +場合自動的に有効になります。 =item Miscellaneous functions @@ -949,9 +946,8 @@ =end original -To avoid confusing would-be users of your code with mysterious -syntax errors, put something like this at the top of your script: -(TBT) +あなたのコードのユーザーが不思議な文法エラーで混乱することを +避けるために、スクリプトの先頭に以下のようなことを書いてください: use 5.010; # so filetest ops can stack @@ -1510,10 +1506,8 @@ このキーワードは C<"switch"> 機能によって有効になります: さらなる情報については L<feature> を参照してください。 -You can also access it by -prefixing it with C<CORE::>. +C<CORE::> を前置することによってもアクセスできます。 あるいは、現在のスコープに C<use v5.10> 以降を含めてください。 -(TBT) =item caller EXPR X<caller> X<call stack> X<stack> X<stack trace> @@ -1773,9 +1767,7 @@ =end original -You can also import the symbolic C<S_I*> constants from the C<Fcntl> -module: -(TBT) +C<Fcntl> モジュールから C<S_I*> シンボル定数をインポートすることもできます: use Fcntl qw( :mode ); chmod S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, @executables; @@ -2354,11 +2346,10 @@ BLOCK がなければ、C<continue> は動的に囲まれた C<foreach> や レキシカルに囲まれた C<given> で反復するのではなく、現在の C<when> または C<default> のブロックを通り抜けるための文です。 -In Perl 5.14 and earlier, this form of C<continue> was -only available when the C<"switch"> feature was enabled. +Perl 5.14 以前では、この形式の C<continue> は C<"switch"> 機能が有効の +場合にのみ利用可能です。 さらなる情報については L<feature> と L<perlsyn/"Switch Statements"> を 参照してください。 -(TBT) =item cos EXPR X<cos> X<cosine> X<acos> X<arccosine> @@ -3631,11 +3622,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.012; # so keys/values/each work on arrays use 5.014; # so keys/values/each work on scalars (experimental) @@ -3777,10 +3767,8 @@ 式の値(それ自身スカラコンテキストの中で決定されます)はまずパースされ、 エラーがなければ Perl プログラムのレキシカルコンテキストの中のブロックとして実行されます。 -This means, that in particular, any outer lexical variables are -visible to it, and パッケージ変数の設定、 -サブルーチンやフォーマットの定義は、その後も残っているということです。 -(TBT) +これは、特に、外側のレキシカル変数は見えていて、パッケージ変数の設定や +サブルーチンやフォーマットの定義はその後も残っているということです。 =begin original @@ -3810,17 +3798,16 @@ =end original -If the C<unicode_eval> feature is enabled (which is the default under a -C<use 5.16> or higher declaration), EXPR or C<$_> is treated as a string of -characters, so C<use utf8> declarations have no effect, and source filters -are forbidden. In the absence of the C<unicode_eval> feature, the string -will sometimes be treated as characters and sometimes as bytes, depending -on the internal encoding, and source filters activated within the C<eval> -exhibit the erratic, but historical, behaviour of affecting some outer file -scope that is still compiling. See also the L</evalbytes> keyword, which -always treats its input as a byte stream and works properly with source -filters, and the L<feature> pragma. -(TBT) +C<unicode_eval> 機能が有効の場合(これは C<use 5.16> またはそれ以上が +宣言されている場合はデフォルトです)、EXPR や C<$_> は文字単位の文字列として +扱われるので、C<use utf8> 宣言は無効で、ソースフィルタは禁止されます。 +C<unicode_eval> 機能がなければ、文字列は内部エンコーディングに依存して +時々文字単位として扱われ、時々バイト単位で扱われます; そして C<eval> の +中で有効になったソースフィルタは、まだコンパイル中である一部の外側のファイル +スコープに影響を与えるという、間違っているけれども歴史的な振る舞いを +見せます。 +入力を常にバイト列として扱い、ソースフィルタが適切に動作する +L</evalbytes> キーワードおよび L<feature> プラグマを参照してください。 =begin original @@ -4115,12 +4102,10 @@ =end original -This function is like L</eval> with a string argument, except it always -parses its argument, or C<$_> if EXPR is omitted, as a string of bytes. A -string containing characters whose ordinal value exceeds 255 results in an -error. Source filters activated within the evaluated code apply to the -code itself. -(TBT) +この関数は文字列引数の L</eval> と同様ですが、引数(EXPR が省略された場合は +C<$_>) を常にバイト単位のの文字列として扱います。 +序数が 255 を超える文字を含む文字列はエラーになります。 +eval されたコード内で有効になったソースフィルタはコード自体に適用されます。 =begin original @@ -4130,10 +4115,9 @@ =end original -This function is only available under the C<evalbytes> feature, a -C<use v5.16> (or higher) declaration, or with a C<CORE::> prefix. See -L<feature> for more information. -(TBT) +この関数は C<evalbytes> 機能が有効か、C<use v5.16> (またはそれ以上) が +宣言されるか、C<CORE::> 接頭辞付きの場合にのみ有効です。 +さらなる情報については L<feature> を参照してください。 =item exec LIST X<exec> X<execute> @@ -4568,9 +4552,9 @@ =end original -Returns the casefolded version of EXPR. This is the internal function -implementing the C<\F> escape in double-quoted strings. -(TBT) +EXPR の畳み込み版を返します。 +これは、ダブルクォート文字列における、C<\F> エスケープを +実装する内部関数です。 =begin original @@ -4581,11 +4565,9 @@ =end original -Casefolding is the process of mapping strings to a form where case -differences are erased; comparing two strings in their casefolded -form is effectively a way of asking if two strings are equal, -regardless of case. -(TBT) +畳み込みは大文字小文字の違いを消した形式に文字列をマッピングする処理です。 +畳み込み形式で二つの文字列を比較するのは二つの文字列が大文字小文字に +関わらず等しいかどうかを比較する効率的な方法です。 =begin original @@ -4593,8 +4575,7 @@ =end original -Roughly, if you ever found yourself writing this -(TBT) +おおよそ、自分自身で以下のように書いていたとしても lc($this) eq lc($that) # Wrong! # or @@ -4608,8 +4589,7 @@ =end original -Now you can write -(TBT) +今では以下のように書けます fc($this) eq fc($that) @@ -4619,8 +4599,7 @@ =end original -And get the correct results. -(TBT) +そして正しい結果を得られます。 =begin original @@ -4633,13 +4612,12 @@ =end original -Perl only implements the full form of casefolding. -For further information on casefolding, refer to -the Unicode Standard, specifically sections 3.13 C<Default Case Operations>, -4.2 C<Case-Normative>, and 5.18 C<Case Mappings>, -available at L<http://www.unicode.org/versions/latest/>, as well as the -Case Charts available at L<http://www.unicode.org/charts/case/>. -(TBT) +Perl は完全な形式の畳み込みのみを実装しています。 +畳み込みに関するさらなる情報については、 +L<http://www.unicode.org/versions/latest/> で利用可能な Unicode 標準、特に +3.13 C<Default Case Operations>, 4.2 C<Case-Normative>, 5.18 +C<Case Mappings> および、L<http://www.unicode.org/charts/case/> で +利用可能なケース表を参照してください。 =begin original @@ -4668,11 +4646,10 @@ =end original -While the Unicode Standard defines two additional forms of casefolding, -one for Turkic languages and one that never maps one character into multiple -characters, these are not provided by the Perl core; However, the CPAN module -C<Unicode::Casing> may be used to provide an implementation. -(TBT) +Unicode 標準はさらに二つの畳み込み形式、一つはツルキ語、もう一つは決して +一つの文字が複数の文字にマッピングされないもの、を定義していますが、 +これらは Perl コアでは提供されません; しかし、CPAN モジュール +C<Unicode::Casing> が実装を提供しています。 =begin original @@ -4682,10 +4659,9 @@ =end original -This keyword is available only when the C<"fc"> feature is enabled, -or when prefixed with C<CORE::>; See L<feature>. Alternately, -include a C<use v5.16> or later to the current scope. -(TBT) +このキーワードは C<"fc"> 機能が有効のときか、C<CORE::> が +前置されたときにのみ利用可能です; L<feature> を参照してください。 +または、現在のスコープで C<use v5.16> またはそれ以上を含めてください。 =item fcntl FILEHANDLE,FUNCTION,SCALAR X<fcntl> @@ -4788,8 +4764,7 @@ =end original -A special token that returns the name of the file in which it occurs. -(TBT) +これが書いてあるファイルの名前を返す特殊トークン。 =item fileno FILEHANDLE X<fileno> @@ -5121,13 +5096,12 @@ =end original -On some platforms such as Windows, where the fork() system call is not available, -Perl can be built to emulate fork() in the Perl interpreter. -The emulation is designed, at the level of the Perl program, -to be as compatible as possible with the "Unix" fork(). -However it has limitations that have to be considered in code intended to be portable. -See L<perlfork> for more details. -(TBT) +Windows のような fork() が利用不能なシステムでは、Perl は fork() を Perl +インタプリタでエミュレートします。 +エミュレーションは Perl プログラムのレベルではできるだけ "Unix" fork() と +互換性があるように設計されています。 +しかしコードが移植性があると考えられるように制限があります。 +さらなる詳細については L<perlfork> を参照してください。 =begin original @@ -5410,12 +5384,11 @@ =end original -Note for Linux users: Between v5.8.1 and v5.16.0 Perl would work -around non-POSIX thread semantics the minority of Linux systems (and -Debian GNU/kFreeBSD systems) that used LinuxThreads, this emulation -has since been removed. See the documentation for L<$$|perlvar/$$> for -details. -(TBT) +Linux ユーザーへの注意: v5.8.1 から v5.16.0 の間 Perl は +LinuxThreads という非 POSIX なスレッド文法を使っているマイナーな +Linux システム (および Debian GNU/kFreeBSD システム) に対応していました。 +このエミュレーションは削除されました; +詳しくは L<$$|perlvar/$$> の文書を参照してください。 =begin original @@ -5772,9 +5745,8 @@ =end original -The C<getprotobynumber> function, even though it only takes one argument, -has the precedence of a list operator, so beware: -(TBT) +C<getprotobynumber> 関数は、一つの引数しか取らないにも関わらず、リスト +演算子の優先順位を持ちます; 従って注意してください: getprotobynumber $number eq 'icmp' # WRONG getprotobynumber($number eq 'icmp') # actually means this @@ -5963,15 +5935,15 @@ =end original -Note that C<glob> splits its arguments on whitespace and treats -each segment as separate pattern. As such, C<glob("*.c *.h")> -matches all files with a F<.c> or F<.h> extension. The expression -C<glob(".* *")> matches all files in the current working directory. -If you want to glob filenames that might contain whitespace, you'll -have to use extra quotes around the spacey filename to protect it. -For example, to glob filenames that have an C<e> followed by a space -followed by an C<f>, use either of: -(TBT) +C<glob> は引数を空白で分割して、それぞれを分割されたパターンとして扱います。 +従って、C<glob("*.c *.h")> は F<.c> または F<.h> 拡張子を持つ全てのファイルに +マッチングします。 +式 C<glob(".* *")> はカレントワーキングディレクトリの全てのファイルに +マッチングします。 +空白を含んでいるかも知れないファイル名をグロブしたい場合、それを守るために +空白入りファイル名の周りに追加のクォートを使う必要があります。 +例えば、C<e> の後に空白、その後に C<f> というファイル名をグロブするには +以下のどちらかを使います: @spacies = <"*e f*">; @spacies = glob '"*e f*"'; @@ -5983,8 +5955,7 @@ =end original -If you had to get a variable through, you could do this: -(TBT) +変数を通す必要があった場合、以下のようにできました: @spacies = glob "'*${var}e f*'"; @spacies = glob qq("*${var}e f*"); @@ -6539,11 +6510,8 @@ リストコンテキストで呼び出されると、指定したハッシュのすべてのキー、あるいは Perl 5.12 以降でのみ、配列のインデックスからなるリストを 返します。 -Perl -releases prior to 5.12 will produce a syntax error if you try to use an -array argument. +5.12 より前の Perl は配列引数を使おうとすると文法エラーを出力します。 スカラコンテキストでは、キーやインデックスの数を返します。 -(TBT) =begin original @@ -6697,11 +6665,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.012; # so keys/values/each work on arrays use 5.014; # so keys/values/each work on scalars (experimental) @@ -6799,11 +6766,10 @@ =end original -On some platforms such as Windows where the fork() system call is not available. -Perl can be built to emulate fork() at the interpreter level. -This emulation has limitations related to kill that have to be considered, -for code running on Windows and in code intended to be portable. -(TBT) +Windows のような fork() が利用不能なシステムでは、Perl は fork() を +インタプリタレベルでエミュレートします。 +エミュレーションは kill に関連して、コードが Windows で実行されて +しかしコードが移植性があると考えられるように制限があります。 =begin original @@ -6811,8 +6777,7 @@ =end original -See L<perlfork> for more details. -(TBT) +さらなる詳細については L<perlfork> を参照してください。 =begin original @@ -6823,11 +6788,10 @@ =end original -If there is no I<LIST> of processes, no signal is sent, and the return -value is 0. This form is sometimes used, however, because it causes -tainting checks to be run. But see -L<perlsec/Laundering and Detecting Tainted Data>. -(TBT) +処理する I<LIST> がない場合、シグナルは送られず、返り値は 0 です。 +しかし、この形式は時々使われます; 実行するために汚染チェックを +引き起こすからです。 +しかし L<perlsec/Laundering and Detecting Tainted Data> を参照してください。 =begin original @@ -6975,11 +6939,10 @@ =end original -符号位置 < 256 に対しては現在の LC_CTYPE ロケールに従います; and uses Unicode -semantics for the remaining code points (this last can only happen if -the UTF8 flag is also set). +符号位置 < 256 に対しては現在の LC_CTYPE ロケールに従います; そして +残りの符号位置に付いては Unicode の意味論を使います (これは UTF8 フラグも +設定されている場合にのみ起こります)。 L<perllocale> を参照してください。 -(TBT) =begin original @@ -7158,8 +7121,7 @@ =end original -A special token that compiles to the current line number. -(TBT) +現在の行番号にコンパイルされる特殊トークン。 =item link OLDFILE,NEWFILE X<link> @@ -7458,9 +7420,8 @@ =end original -The value returned is the scalar itself, if the argument is a scalar, or a -reference, if the argument is a hash, array or subroutine. -(TBT) +返される値は、引数がスカラならそのスカラ自身、引数がハッシュ、配列、 +サブルーチンならリファレンスです。 =begin original @@ -8399,10 +8360,9 @@ 3 引数形式で層を指定すると、${^OPEN} (L<perlvar> を参照してください; 通常はC<open> プラグマか B<-CioD> オプションでセットされます) に保存されたデフォルト層は無視されることに注意してください。 -Those layers will also be ignored if you specifying a colon with no name -following it. In that case the default layer for the operating system -(:raw on Unix, :crlf on Windows) is used. -(TBT) +これらの層は、名前なしでコロンを指定した場合にも無視されます。 +この場合 OS のデフォルトの層 (Unix では :raw、Windows では :crlf) が +使われます。 =begin original @@ -10839,8 +10799,7 @@ =end original -A special token that returns the name of the package in which it occurs. -(TBT) +これが書いてあるパッケージの名前を返す特殊トークン。 =item pipe READHANDLE,WRITEHANDLE X<pipe> @@ -10946,11 +10905,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.014; # so push/pop/etc work on scalars (experimental) @@ -11256,11 +11214,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.014; # so push/pop/etc work on scalars (experimental) @@ -11327,8 +11284,7 @@ ロケールに関わらずバックスラッシュが前置されます。) これは、ダブルクォート文字列での C<\Q> エスケープを実装するための 内部関数です。 -(See below for the behavior on non-ASCII code points.) -(TBT) +(非 ASCII 符号位置での振る舞いについては以下を参照してください。) =begin original @@ -11418,10 +11374,8 @@ =end original -Starting in Perl v5.16, Perl adopted a Unicode-defined strategy for -quoting non-ASCII characters; the quoting of ASCII characters is -unchanged. -(TBT) +Perl v5.16 から、Perl 非 ASCII 文字をクォートするのに Unicode で定義された +戦略を採用しました; ASCII 文字のクォートは変わりません。 =begin original @@ -11774,11 +11728,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious failures, put this sort of thing at the -top of your file to signal that your code will work I<only> on Perls of a -recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +失敗で混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.012; # so readdir assigns to $_ in a lone while test @@ -13313,9 +13266,9 @@ =end original -The standard C<IO::Select> module provides a user-friendlier interface -to C<select>, mostly because it does all the bit-mask work for you. -(TBT) +標準の C<IO::Select> モジュールは C<select> へのよりユーザーフレンドリーな +インターフェースを提供します; 主な理由はビットマスクの仕事を +してくれることです。 =begin original @@ -13663,11 +13616,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.014; # so push/pop/etc work on scalars (experimental) @@ -14128,10 +14080,9 @@ =end original -If the subroutine is an XSUB, the elements to be compared are pushed on to -the stack, the way arguments are usually passed to XSUBs. $a and $b are -not set. -(TBT) +サブルーチンが XSUB の場合、比較される要素は、普通に引数を XSUB に渡す形で、 +スタックにプッシュされます。 +$a と $b は設定されません。 =begin original @@ -14500,11 +14451,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.014; # so push/pop/etc work on scalars (experimental) @@ -14526,9 +14476,8 @@ =end original -Splits the string EXPR into a list of strings and returns the -list in list context, or the size of the list in scalar context. -(TBT) +文字列 EXPR を文字列のリストに分割して、リストコンテキストではそのリストを +返し、スカラコンテキストではリストの大きさを返します。 =begin original @@ -14536,8 +14485,7 @@ =end original -If only PATTERN is given, EXPR defaults to C<$_>. -(TBT) +PATTERN のみが与えられた場合、EXPR のデフォルトは C<$_> です。 =begin original @@ -14551,9 +14499,9 @@ Anything in EXPR that matches PATTERN is taken to be a separator that separates the EXPR into substrings (called "I<fields>") that -do B<not> include the separator. Note that a separator may be -longer than one character or even have no characters at all (the -empty string, which is a zero-width match). +do B<not> include the separator. +セパレータは一文字より長くてもよく、全く文字がなくてもよい(空文字列は +ゼロ幅マッチングです)ということに注意してください。 (TBT) =begin original @@ -14563,9 +14511,8 @@ =end original -The PATTERN need not be constant; an expression may be used -to specify a pattern that varies at runtime. -(TBT) +PATTERN は定数である必要はありません; 実行時に変更されるパターンを +指定するために式を使えます。 =begin original @@ -14574,9 +14521,9 @@ =end original -If PATTERN matches the empty string, the EXPR is split at the match -position (between characters). As an example, the following: -(TBT) +PATTERN が空文字列にマッチングする場合、EXPR はマッチング位置 +(文字の間)で分割されます。 +例えば、以下のものは: print join(':', split('b', 'abc')), "\n"; @@ -14587,9 +14534,8 @@ =end original -uses the 'b' in 'abc' as a separator to produce the output 'a:c'. -However, this: -(TBT) +'abc' の 'b' をセパレータとして使って出力 'a:c' を生成します。 +しかし、これは: print join(':', split('', 'abc')), "\n"; @@ -14601,10 +14547,8 @@ =end original -uses empty string matches as separators to produce the output -'a:b:c'; thus, the empty string may be used to split EXPR into a -list of its component characters. -(TBT) +空文字列マッチングをセパレータとして使って出力 'a:b:c' を生成します; 従って、 +空文字列は EXPR を構成する文字のリストに分割するために使われます。 =begin original @@ -14614,10 +14558,10 @@ =end original -As a special case for C<split>, the empty pattern given in -L<match operator|perlop/"m/PATTERN/msixpodualgc"> syntax (C<//>) specifically matches the empty string, which is contrary to its usual -interpretation as the last successful match. -(TBT) +C<split> の特殊な場合として、 +L<マッチング演算子|perlop/"m/PATTERN/msixpodualgc"> 文法で与えられた +空パターン (C<//>) は特に空文字列にマッチングし、最後に成功した +マッチングという普通の解釈と異なります。 =begin original @@ -14627,10 +14571,9 @@ =end original -If PATTERN is C</^/>, then it is treated as if it used the -L<multiline modifier|perlreref/OPERATORS> (C</^/m>), since it -isn't much use otherwise. -(TBT) +PATTERN が C</^/> の場合、L<複数行修飾子|perlreref/OPERATORS> +(C</^/m>) が使われたかのように扱われます; そうでなければほとんど +使えないからです。, since it =begin original @@ -14647,17 +14590,17 @@ =end original -As another special case, C<split> emulates the default behavior of the -command line tool B<awk> when the PATTERN is either omitted or a I<literal -string> composed of a single space character (such as S<C<' '>> or -S<C<"\x20">>, but not e.g. S<C</ />>). In this case, any leading -whitespace in EXPR is removed before splitting occurs, and the PATTERN is -instead treated as if it were C</\s+/>; in particular, this means that -I<any> contiguous whitespace (not just a single space character) is used as -a separator. However, this special treatment can be avoided by specifying -the pattern S<C</ />> instead of the string S<C<" ">>, thereby allowing -only a single space character to be a separator. -(TBT) +もう一つの特別な場合として、C<split> は PATTERN が省略されるか +単一のスペース文字からなる I<リテラル文字列> (つまり例えば +S<C</ />> ではなく S<C<' '>> や S<C<"\x20">>) の場合、コマンドラインツール +B<awk> のデフォルトの振る舞いをエミュレートします。 +この場合、EXPR の先頭の空白は分割を行う前に削除され、PATTERN は +C</\s+/> であったかのように扱われます; 特に、これは (単に単一の +スペース文字ではなく) I<あらゆる> 連続した空白がセパレータとして +使われるということです。 +しかし、この特別の扱いは文字列 S<C<" ">> の代わりにパターン S<C</ />> を +指定することで回避でき、それによってセパレータとして単一のの +スペース文字のみが使われます。 =begin original @@ -14666,9 +14609,8 @@ =end original -If omitted, PATTERN defaults to a single space, S<C<" ">>, triggering -the previously described I<awk> emulation. -(TBT) +省略されると、PATTERN のデフォルトは単一のスペース S<C<" ">> になり、 +先に記述した I<awk> エミュレーションを起動します。 =begin original @@ -14681,13 +14623,12 @@ =end original -If LIMIT is specified and positive, it represents the maximum number -of fields into which the EXPR may be split; in other words, LIMIT is -one greater than the maximum number of times EXPR may be split. Thus, -the LIMIT value C<1> means that EXPR may be split a maximum of zero -times, producing a maximum of one field (namely, the entire value of -EXPR). For instance: -(TBT) +LIMIT が指定された正数の場合、EXPR が分割されるフィールドの最大数を +表現します; 言い換えると、 LIMIT は EXPR が分割される数より一つ大きい +数です。 +従って、LIMIT の値 C<1> は EXPR が最大 0 回分割されるということで、 +最大で一つのフィールドを生成します (言い換えると、EXPR 全体の値です)。 + print join(':', split(//, 'abc', 1)), "\n"; @@ -14697,8 +14638,7 @@ =end original -produces the output 'abc', and this: -(TBT) +これは 'abc' を出力し、次のものは: print join(':', split(//, 'abc', 2)), "\n"; @@ -14708,8 +14648,7 @@ =end original -produces the output 'a:bc', and each of these: -(TBT) +'a:bc' を出力し、以下のものそれぞれは: print join(':', split(//, 'abc', 3)), "\n"; print join(':', split(//, 'abc', 4)), "\n"; @@ -14720,8 +14659,7 @@ =end original -produces the output 'a:b:c'. -(TBT) +'a:b:c' を出力します。 =begin original @@ -14730,9 +14668,8 @@ =end original -If LIMIT is negative, it is treated as if it were instead arbitrarily -large; as many fields as possible are produced. -(TBT) +LIMIT が負数なら、非常に大きい数であるかのように扱われます; できるだけ多くの +フィールドが生成されます。 =begin original @@ -14744,12 +14681,11 @@ =end original -If LIMIT is omitted (or, equivalently, zero), then it is usually -treated as if it were instead negative but with the exception that -trailing empty fields are stripped (empty leading fields are always -preserved); if all fields are empty, then all fields are considered to -be trailing (and are thus stripped in this case). Thus, the following: -(TBT) +LIMIT が省略されると(あるいは等価な 0 なら)、普通は負数が指定されたかのように +動作しますが、末尾の空フィールドは取り除かれるという例外があります +(先頭の空フィールドは常に保存されます); もし全てのフィールドが空なら、 +全てのフィールドが末尾として扱われます(そしてこの場合取り除かれます)。 +従って、以下のようにすると: print join(':', split(',', 'a,b,c,,,')), "\n"; @@ -14759,8 +14695,7 @@ =end original -produces the output 'a:b:c', but the following: -(TBT) +出力 'a:b:c' を生成しますが、以下のようにすると: print join(':', split(',', 'a,b,c,,,', -1)), "\n"; @@ -14770,8 +14705,7 @@ =end original -produces the output 'a:b:c:::'. -(TBT) +出力 'a:b:c:::' を生成します。 =begin original @@ -14783,12 +14717,11 @@ =end original -In time-critical applications, it is worthwhile to avoid splitting -into more fields than necessary. Thus, when assigning to a list, -if LIMIT is omitted (or zero), then LIMIT is treated as though it -were one larger than the number of variables in the list; for the -following, LIMIT is implicitly 4: -(TBT) +時間に厳しいアプリケーションでは、必要でないフィールドの分割を避けるのは +価値があります。 +従って、リストに代入される場合に、LIMIT が省略される(または 0)と、 +LIMIT は リストにある変数の数より一つ大きい数のように扱われます; +次の場合、LIMIT は暗黙に 4 になります: ($login, $passwd, $remainder) = split(/:/); @@ -14799,9 +14732,8 @@ =end original -Note that splitting an EXPR that evaluates to the empty string always -produces zero fields, regardless of the LIMIT specified. -(TBT) +LIMIT の指定に関わらず、空文字列に評価される EXPR を分割すると常に 0 個の +フィールドを生成することに注意してください。 =begin original @@ -14810,9 +14742,9 @@ =end original -An empty leading field is produced when there is a positive-width -match at the beginning of EXPR. For instance: -(TBT) +EXPR の先頭で正数幅でマッチングしたときには先頭に空のフィールドが +生成されます。 +例えば: print join(':', split(/ /, ' abc')), "\n"; @@ -14823,9 +14755,8 @@ =end original -produces the output ':abc'. However, a zero-width match at the -beginning of EXPR never produces an empty field, so that: -(TBT) +これは出力 ':abc' を生成します。 +しかし、EXPR の先頭でのゼロ幅マッチングは決して空フィル土を生成しないので: print join(':', split(//, ' abc')); @@ -14835,8 +14766,7 @@ =end original -produces the output S<' :a:b:c'> (rather than S<': :a:b:c'>). -(TBT) +これは(S<': :a:b:c'> ではなく)出力 S<' :a:b:c'> を生成します。 =begin original @@ -14847,11 +14777,11 @@ =end original -An empty trailing field, on the other hand, is produced when there is a -match at the end of EXPR, regardless of the length of the match -(of course, unless a non-zero LIMIT is given explicitly, such fields are -removed, as in the last example). Thus: -(TBT) +一方、末尾の空のフィールドは、マッチングの長さに関わらず、EXPR の末尾で +マッチングしたときに生成されます(もちろん非 0 の LIMIT が明示的に +指定されていない場合です; このようなフィールドは前の例のように +取り除かれます)。 +従って: print join(':', split(//, ' abc', -1)), "\n"; @@ -14861,8 +14791,7 @@ =end original -produces the output S<' :a:b:c:'>. -(TBT) +これは出力 S<' :a:b:c:'> を生成します。 =begin original @@ -14880,18 +14809,18 @@ =end original -If the PATTERN contains -L<capturing groups|perlretut/Grouping things and hierarchical matching>, -then for each separator, an additional field is produced for each substring -captured by a group (in the order in which the groups are specified, -as per L<backreferences|perlretut/Backreferences>); if any group does not -match, then it captures the C<undef> value instead of a substring. Also, -note that any such additional field is produced whenever there is a -separator (that is, whenever a split occurs), and such an additional field -does B<not> count towards the LIMIT. Consider the following expressions -evaluated in list context (each returned list is provided in the associated -comment): -(TBT) +PATTERN が +L<捕捉グループ|perlretut/Grouping things and hierarchical matching> を +含んでいる場合、それぞれのセパレータについて、 +(L<後方参照|perlretut/Backreferences> のようにグループが指定された) +グループによって捕捉されたそれぞれの部分文字列について追加のフィールドが +生成されます; どのグループもマッチングしなかった場合、部分文字列の代わりに +C<undef> 値を捕捉します。 +また、このような追加のフィールドはセパレータがあるとき(つまり、分割が +行われるとき)はいつでも生成され、このような追加のフィールドは +LIMIT に関してはカウント B<されない> ことに注意してください。 +リストコンテキストで評価される以下のような式を考えます +(それぞれの返されるリストは関連づけられたコメントで提供されます): split(/-|,/, "1-10,20", 3) # ('1', '10', '20') @@ -15692,9 +15621,7 @@ C<srand> を引数付きで呼び出すと、これを種として使います; さもなければ (だいたい)ランダムに種を選びます。 どちらの場合でも、Perl 5.14 からは種を返します。 -To signal that your code will work I<only> on Perls -of a recent vintage: -(TBT) +特定の時期の Perl I<でのみ> 動作することを知らせるには以下のようにします: use 5.014; # so srand returns the seed @@ -16123,12 +16050,10 @@ =end original -C<state> declares a lexically scoped variable, just like C<my>. -However, those variables will never be reinitialized, contrary to -lexical variables that are reinitialized each time their enclosing block -is entered. -See L<perlsub/"Persistent Private Variables"> for details. -(TBT) +C<state> はちょうど C<my> と同様に、レキシカルなスコープの変数を宣言します。 +しかし、レキシカル変数がブロックに入る毎に再初期化されるのと異なり、 +この変数は決して再初期化されません。 +詳しくは L<perlsub/"Persistent Private Variables"> を参照してください。 =begin original @@ -16303,9 +16228,8 @@ =end original -A special token that returns the a reference to the current subroutine, or -C<undef> outside of a subroutine. -(TBT) +現在のサブルーチンのリファレンスを返す特殊トークン; サブルーチンの外側では +C<undef>。 =begin original @@ -16314,9 +16238,8 @@ =end original -This token is only available under C<use v5.16> or the "current_sub" -feature. See L<feature>. -(TBT) +このトークンは C<use v5.16> または "current_sub" 機能でのみ利用可能です。 +L<feature> を参照してください。 =item substr EXPR,OFFSET,LENGTH,REPLACEMENT X<substr> X<substring> X<mid> X<left> X<right> @@ -16438,9 +16361,8 @@ =end original -With negative offsets, it remembers its position from the end of the string -when the target string is modified: -(TBT) +負数のオフセットの場合、ターゲット文字列が修正されたときに文字列の末尾からの +位置を覚えます: $x = '1234'; for (substr($x, -3, 2)) { @@ -16457,11 +16379,9 @@ =end original -バージョン 5.10 以前の Perl では、複数回左辺値を使った場合の結果は +バージョン 5.10 より前の Perl では、複数回左辺値を使った場合の結果は 未定義でした。 -Prior to 5.16, the result with negative offsets was -unspecified. -(TBT) +5.16 より前では、負のオフセットの結果は未定義です。 =item symlink OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link> X<link, symbolic> @@ -18103,11 +18023,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.014; # so push/pop/etc work on scalars (experimental) @@ -18232,18 +18151,16 @@ =end original -C<use VERSION> は要求されたバージョンで利用可能な全ての機能を -有効に as defined by the C<feature> pragma, disabling any features -not in the requested version's feature bundle. +C<use VERSION> は、C<feature> プラグマで定義されたように、指定された +バージョンで利用可能な全ての機能を有効にし、指定されたバージョンの機能の +束にない機能を無効にします。 L<feature> を参照してください。 同様に、指定された Perl のバージョンが 5.11.0 以上の場合、 -制限は C<use strict> と同様にレキシカルに有効になります. -Any explicit use of -C<use strict> or C<no strict> overrides C<use VERSION>, even if it comes -before it. +制限は C<use strict> と同様にレキシカルに有効になります。 +明示的に C<use strict> や C<no strict> を使うと、例え先に +指定されていたとしても、C<use VERSION> を上書きします。 どちらの場合も、F<feature.pm> と F<strict.pm> ファイルは実際には 読み込まれません。 -(TBT) =begin original @@ -18552,10 +18469,9 @@ リストコンテキストでは、指定したハッシュのすべての値を返します。 Perl 5.12 以降でのみ、配列の全ての値からなるリストも -返します; prior to that release, attempting to use an array argument will -produce a syntax error. +返します; このリリースの前では、配列要素に使おうとすると文法エラーが +発生します。 スカラコンテキストでは、値の数を返します。 -(TBT) =begin original @@ -18639,11 +18555,10 @@ =end original -To avoid confusing would-be users of your code who are running earlier -versions of Perl with mysterious syntax errors, put this sort of thing at -the top of your file to signal that your code will work I<only> on Perls of -a recent vintage: -(TBT) +あなたのコードを以前のバージョンの Perl で実行したユーザーが不思議な +文法エラーで混乱することを避けるために、コードが最近のバージョンの Perl で +I<のみ> 動作することを示すためにファイルの先頭に以下のようなことを +書いてください: use 5.012; # so keys/values/each work on arrays use 5.014; # so keys/values/each work on scalars (experimental) @@ -19375,8 +19290,7 @@ =end original -These keywords are documented in L<perldata/"Special Literals">. -(TBT) +これらのキーワードは L<perldata/"Special Literals"> で文書化されています。 =back @@ -19400,8 +19314,8 @@ =end original -These compile phase keywords are documented in L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">. -(TBT) +これらのコンパイルフェーズキーワードは +L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END"> で文書化されています。 =back @@ -19417,8 +19331,7 @@ =end original -This method keyword is documented in L<perlobj/"Destructors">. -(TBT) +このメソッドキーワードは L<perlobj/"Destructors"> で文書化されています。 =back @@ -19458,8 +19371,7 @@ =end original -These operators are documented in L<perlop>. -(TBT) +これらの演算子は L<perlop> で文書化されています。 =back @@ -19475,8 +19387,7 @@ =end original -This keyword is documented in L<perlsub/"Autoloading">. -(TBT) +このキーワードは L<perlsub/"Autoloading"> で文書化されています。 =back @@ -19506,8 +19417,8 @@ =end original -These flow-control keywords are documented in L<perlsyn/"Compound Statements">. -(TBT) +これらのフロー制御キーワードは L<perlsyn/"Compound Statements"> で +文書化されています。 =back @@ -19526,9 +19437,8 @@ =end original -These flow-control keywords related to the experimental switch feature are -documented in L<perlsyn/"Switch Statements"> . -(TBT) +これらの実験的な switch 機能に関連するフロー制御キーワードは +L<perlsyn/"Switch Statements"> で文書化されています。 =back