Perlの特殊変数2024 年の最新の入門チュートリアル。このコースでは 特別な変数の型, について学習できます。
$ _:Perl言語は、いくつかの特別な変数、例えば通常$、@、または接頭辞として%を、定義されています。
多くの特殊変数は、非常に長い英語名を持っている、オペレーティングシステム変数$!$ OS_ERRORとして書くことができます。
あなたがプログラムに特殊変数の英語名を使用する場合は使用英語を追加する頭する必要があります;. 記述この英語の特殊変数。
最も一般的に使用される特殊変数$ _は、変数は、デフォルトの入力とパターンマッチングコンテンツが含まれています。 例としては、次のとおりです:
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print $_; print "\n"; }
上記のプログラムは、出力は次のようになります。
Google w3big Taobao
次の例では、我々は出力に$ _を使用しないでください。
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print; print "\n"; }
上記のプログラムは、出力は次のようになります。
Google w3big Taobao
たとえば、最初の出力「グーグル」、出力「w3big」、最終的な出力 "淘宝網"。
反復ループでは、$内の文字列の電流ループ_し、印刷出力を介して。 また、出力変数は、$ _のデフォルトで使用されている指定せずに印刷します。
次ものPerlなしでいくつかの状態である$ _場所を想定しています:
以下のカテゴリーに分けることができる変数の使用の特別な性質によります
特別なグローバルスカラー変数。
特別なグローバル配列変数。
特別なグローバル変数をハッシュ。
グローバル特殊ファイルハンドル。
グローバル特別な定数。
特殊変数を正規表現。
ファイルには、特殊変数を扱います。
次の変数の形で特殊文字と英語を含むすべての特殊スカラ変数のリストです。
$ _ | コンテンツに一致するデフォルトの入力とパターン。 |
$ ARG | |
$。 | ファイルハンドルの前の読み取り現在の行番号 |
$ NR | |
$ / | デフォルトでは、入力レコードの区切り、改行文字。 この変数はundefと同じようにファイルの終わりを読み込みます。 |
$ RS | |
$、 | 出力フィールドセパレータ |
$ OFS | |
$ \ | 出力レコードセパレータ |
$ ORS | |
$ " | 同じ$変数は、似ていますが、機会とスライス値の配列内に挿入された二重引用符(または類似の文字列補間)で囲まれた文字列に適用されます。 デフォルトは空白です。 |
$ LIST_SEPARATOR | |
$; | 多次元配列のエミュレーション使用される区切り文字。 デフォルトは "\ 034"であります |
$ SUBSCRIPT_SEPARATOR | |
$ ^ L | チャネルは、給紙文字を取る出力に送られます。 デフォルトは "\のF」です。 |
$ FORMAT_FORMFEED | |
$: | 文字列の形式は、継続フィールド(^で始まる)を埋めるために壊れている可能性があり、その後の文字の現在のセット。デフォルトは "\ n"は "です。 |
$ FORMAT_LINE_BREAK_CHARACTERS | |
$ ^ A | 保存のための可変データのフォーマットを印刷する前に |
$ ACCUMULATOR | |
$# | あなたはデジタル既定デジタル出力フォーマット(廃止)印刷するとき。 |
$ OFMT | |
$? | 外部コマンドの状態に戻ります |
$ CHILD_ERROR | |
$! | この変数の数値は、文字列値は、対応するシステムのエラー文字列errnoの値であります |
$ OS_ERRORまたは$ ERRNO | |
$ @ | それが空の場合はevalコマンドエラーメッセージは、それが正常に完了し、最後のevalコマンドを意味します |
$ EVAL_ERROR | |
$$ | 現在のプロセスIDを実行するためのPerlスクリプト |
$ PROCESS_IDまたは$ PID | |
$ < | 現在のプロセスの実際の加入者番号 |
$ REAL_USER_IDまたは$のUID | |
$> | 現在のプロセスの実効ユーザー数 |
$ EFFECTIVE_USER_IDまたは$ EUID | |
$( | ユーザグループの現在のプロセスの実際の数 |
$ REAL_GROUP_IDまたは$ GID | |
$) | 現在のプロセスの実効ユーザグループ番号 |
$ EFFECTIVE_GROUP_IDまたは$ EGID | |
$ 0 | ファイル名は、実行されるスクリプトを含みます |
$ PROGRAM_NAME | |
$ [ | 配列の配列の最初の要素のインデックスは、デフォルトは0です。 |
$] | Perlのバージョン番号 |
$ PERL_VERSION | |
$ ^ D | デバッグフラグの値 |
$デバッグ | |
$ ^ E | 非UNIXオペレーティング・システム環境ではエラー情報を拡張 |
$ EXTENDED_OS_ERROR | |
$ ^ F | 言っバンドルの最大ファイル識別子の値 |
$ SYSTEM_FD_MAX | |
$ ^ H | コンパイラの構文チェック状態によって活性化されます |
$ ^ I | 内蔵エディタの制御値 |
$ INPLACE_EDIT | |
$ ^ M | サイズのスペアメモリプール |
$ ^ O | オペレーティングシステム名 |
$ OSNAME | |
$ ^ P | 現在のデバッガ内部変数の値を指定します。 |
$ PERLDB | |
$ ^ T | 新世紀の初め以来、秒のペースは時間が不足し始めます |
$ベースタイム | |
$ ^ W | 警告スイッチの現在の値 |
$警告 | |
$ ^ X | Perlのバイナリ実行コード名 |
$ EXECUTABLE_NAME | |
$ ARGV | ときのデフォルトのファイルハンドルから読み込まれ、現在のファイル名 |
@ARGV | スクリプトコマンドライン引数リストへ |
@INC | あなたはモジュールディレクトリのリストをインポートするときに検索します |
@F | コマンドラインアレイを入力してください |
%INC | キーワードは、ファイル名です含まINCを行うと、すべてのファイルが含まれている%をハッシュや文を必要とし、値は、ファイルのパスです。 |
%のENV | 現在の環境変数を含みます |
%SIG | 信号リストとどのように対処します |
ARGV | すべてのファイル名の配列変数@ARGVを通して特別なファイルハンドル |
STDERR | 標準出力ハンドルエラー |
STDIN | 標準入力ハンドル |
STDOUT | 標準出力ハンドル |
DATA | 特別なファイルハンドルの参照後のスクリプトの内容を含むファイル内のすべてのコンテンツ__END__フラグ。 またはコンテンツファイルのすべての参照がある__ DATA__、限り、あなたは、同じパケットデータに読んでいるように、後の__DATA__フラグが含まれています。 |
_(アンダースコア) | 情報のための特別なファイルハンドルのキャッシュファイル(FSTAT、statおよびlstatも)。 |
__END__ | スクリプトの論理的な終わり、後は無視テキスト。 |
__FILE__ | 現在のファイル名 |
__LINE__ | 現在の行番号 |
__PACKAGE__ | 現在のパッケージ名は、デフォルトのパッケージ名がメインです。 |
$ N | 最後のパターンマッチングのn番目の文字列を含みます |
$& | 前の成功したパターンマッチング文字列 |
$ MATCH | |
$ ` | 以前のコンテンツの成功に一致する最後の部分文字列 |
$ PREMATCH | |
$ ' | サブ後のコンテンツ最後に成功したマッチ |
$のPOSTMATCH | |
$ + | そして、最後の正規表現検索最後の括弧のマッチング形式。 例えば: /Version: (.*)|Revision: (.*)/ && ($rev = $+); |
$ LAST_PAREN_MATCH |
$ | | 各関数呼び出しの書き込みや印刷後にゼロに設定した場合、自動的に関数にfflushを呼び出して、書かれた内容は、ファイルを書き込みます |
$ OUTPUT_AUTOFLUSH | |
$% | 電流出力ページ番号 |
$ FORMAT_PAGE_NUMBER | |
$ = | 現在のページの長さ。 デフォルトは60です。 |
$ FORMAT_LINES_PER_PAGE | |
$ - | 残りの行の現在のページ番号 |
$ FORMAT_LINES_LEFT | |
$〜 | レポートの出力形式の現在の名前。 デフォルト値は、ファイルハンドルの名前です。 |
$ FORMAT_NAME | |
$ ^ | 現在のレポート出力テーブル名ヘッダー形式。 デフォルト値は、接尾辞 "_TOP"ファイルハンドル名です。 |
$ FORMAT_TOP_NAME |