perl-5.30.0
$ARG
$_

The default input and pattern-searching space. The following pairs are equivalent:

デフォルトの入力とパターン検索のスペース。 以下の 2つは同値です:

    while (<>) {...}    # equivalent only in while!
    while (defined($_ = <>)) {...}
    while (<>) {...}    # while の中でのみ等価!
    while (defined($_ = <>)) {...}

    /^Subject:/
    $_ =~ /^Subject:/

    tr/a-z/A-Z/
    $_ =~ tr/a-z/A-Z/

    chomp
    chomp($_)

Here are the places where Perl will assume $_ even if you don't use it:

あなたが使いたくなくても Perl が $_ を仮定する場合がいくつかあります:

  • The following functions use $_ as a default argument:

    以下の関数は $_ をデフォルト引数として使います:

    abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, evalbytes, exp, fc, glob, hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print, printf, quotemeta, readlink, readpipe, ref, require, reverse (in scalar context only), rmdir, say, sin, split (for its second argument), sqrt, stat, study, uc, ucfirst, unlink, unpack.

    abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, evalbytes, exp, fc, glob, hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print, printf, quotemeta, readlink, readpipe, ref, require, reverse (スカラコンテキストのみ), rmdir, say, sin, split (の 2 番目の引数), sqrt, stat, study, uc, ucfirst, unlink, unpack

  • All file tests (-f, -d) except for -t, which defaults to STDIN. See "-X" in perlfunc

    デフォルトが STDIN である -t を除く全てのファイルテスト(-f, -d)。 "-X" in perlfunc を参照してください。

  • The pattern matching operations m//, s/// and tr/// (aka y///) when used without an =~ operator.

    =~ 演算子なしで用いられたパターンマッチ演算 m//, s///, tr/// (またの名を y///)。

  • The default iterator variable in a foreach loop if no other variable is supplied.

    foreach ループでの他の変数が補われなかった場合のデフォルトの繰り返し変数。

  • The implicit iterator variable in the grep() and map() functions.

    grep() 関数と map() 関数の暗黙の繰り返し変数。

  • The implicit variable of given().

    given() の暗黙の変数。

  • The default place to put the next value or input record when a <FH>, readline, readdir or each operation's result is tested by itself as the sole criterion of a while test. Outside a while test, this will not happen.

    <FH>, readline, readdir, each が単独で while テストで テストされた場合の、次の値や入力レコードを入れるデフォルトの場所。 while テスト以外ではこれは起こりません。

$_ is a global variable.

$_ はグローバル変数です。

However, between perl v5.10.0 and v5.24.0, it could be used lexically by writing my $_. Making $_ refer to the global $_ in the same scope was then possible with our $_. This experimental feature was removed and is now a fatal error, but you may encounter it in older code.

しかし、perl v5.10.0 から v5.24.0 の間、 my $_ と書くことでこれをレキシカルに使うことが出来ました。 同じスコープで $_ がグローバルな $_ を参照するのは our $_ で可能になっていました。 この実験的機能は削除されて今では致命的エラーですが、 古いコードで見かけるかも知れません。

Mnemonic: underline is understood in certain operations.

記憶法: 下線はある操作を覚えるためのもの。