-0<8進数> | レコードセパレータ($/)。8進数を指定しないとヌル文字,該当する文字がない場合はファイル全体を読込む。 |
-a | 自動スプリットモード。-n,-p と一緒に使う。$_ を @F にスプリットする。 |
-c | スクリプト構文チェック。BEGIN と END ブロックのみ実行。 |
-e | 'スクリプト' 1行スクリプト。複数の -e を使用可。引数リストからはファイルをさがさない。(DOSでは"使用?) |
-F/正規表現/ | スプリット区切り。正規表現で指定。/ は省略可。 |
-h | オプションの要約を表示。 |
-i<拡張子> | インプレイス編集。<>で処理されるファイルを拡張子つきでバックアップ。拡張子を指定しないとバックアップなし。 |
-l<8進数> | 自動行末処理。-n,-p を使ったときに行末文字($/)を削除。print 文実行時の行末文字($\)を$/または指定文字に設定。 |
-m[-]モジュール | モジュールの使用。スクリプト実行前にuse モジュール(またはno モジュール)を実行。 |
-n | スクリプトを各ファイルに対して実行(while (<>){ SCRIPT } と見なす,sed -n,awk と同様)。印字を抑制。BEGIN,ENDブロック設定可。 |
-p | スクリプトを各ファイルに対して実行し自動印字 ( while (<>){ SCRIPT; print;} と見なす?,sed と同様)。BEGIN,ENDブロック設定可。 |
-v | perlのバージョンとパッチレベルを表示。 |
-V<:変数> | perlの設定情報を表示。 |
-w | スクリプトに関する各種警告を表示。 |
プログラムファイル | 処理内容のファイル。複数可。無指定と - は標準入力。 |
$ARG $_ |
デフォルトの入力とパターン検索のスペース |
$<数字> | 最後のパターンマッチで,対応する括弧内にマッチした文字列 |
$& | 最後に成功したパターンマッチでマッチした文字列 |
$` | 最後の成功したパターンマッチでマッチした部分の前の文字列 |
$' | 最後の成功したパターンマッチでマッチした部分に続く文字列 |
$+ | 最後に検索されたパターンの最後の括弧にマッチした文字列。 |
$. | 最後に読み込みを行なったファイルハンドルの現在の入力行の番号。"<>"構文では明示的にクローズを行なわないためARGV のファイルにまたがって行番号が数えられる。 |
$RS $/ |
入力レコードセパレータ。デフォルトは改行。 |
$| | 0 以外に設定されると,その時点の出力チャネルに write や print を行なうごとに強制的にフラッシュ。デフォルトは 0。 |
$, | print 演算子のための出力フィールドセパレータ。 |
$\ | print 演算子のための出力レコードセパレータ。 |
$" | $, と同様だが,2重引用符で括られた文字列または同様に扱われる文字列の中で配列値が展開される際に適用。デフォルトはスペース。 |
$# | 数字を印字する際の出力フォーマット。初期値は %.20g。 |
$! | 数値コンテキストで用いられるとその時点の errno の値が (通常の注意事項とともに) 得られる。文字列コンテキストで使われると対応するシステムエラーのメッセージ文字列。 |
$0 | 実行されている Perl スクリプトのファイル名。 |
$ARGV | <> から読込みを行なっているとき,現在のファイル名。 |
@ARGV $ARGV[0],..., $ARGV[n] |
コマンドラインからスクリプトに渡す引数の配列。 @INC do EXPR,require,use によって評価する Perl スクリプトを探す場所のリストの配列。 |
項とリスト | print sort chmod ... |
アロー | -> |
イン(デ)クリメント | ++ -- |
指数 | ** |
単項 | !(論理否定) -(算術否定) ~(1の補数) +(?) \(参照) |
マッチング | =~ (m/RE/(検索) s/RE/NEW/(置換) tr/str1/str2/(変換)) !~ |
加減 | + - |
乗除 | * / %(剰余) ** |
文字列 | .(連結) x(繰返し) |
シフト | << >>(整数のビットシフト) |
数値比較 | == != < > <= >= <=> (1/0/-1を返す) |
文字比較 | eq ne lt gt le ge cmp (1/0/-1を返す) |
ビット演算 | & | ^ |
論理演算 | && || (左側の式で結果が決まったら右側の式は実行しない)(例. print OUT || die("書込みエラー");) |
範囲 | ..(整数配列,ブール値) |
3項演算子(条件) | 式 ? 式 : 式 |
代入演算子 | = += -= *= /= %= 他 (結果は有効な左辺値) |
コンマ | , |
論理(英語) | not and or xor |
入出力 | ||
入力ファイルのオープン | open(IN, "-") open(IN, "InputFile") open(IN, ">InputFile") open(IN, "command |") |
標準入力をオープン 入力ファイル(InputFile)をオープン コマンドの出力をパイプ入力 |
出力ファイルのオープン | open(OUT, ">-") open(OUT, ">OutputFile") open(OUT, ">>OutputFile") open(OUT) open(0UT, "| filter") |
標準出力をオープン 出力ファイル(OutputFile)をオープン コマンドの入力としてパイプ出力 |
1行読込み | <IN> $Line = <IN> <STDIN> <> |
ファイルハンドルINから読込み 標準入力から読込み コマンドライン引数(ARGV)から読込み |
1行書込み | print OUT print OUT $Line print $Line |
ファイルハンドルOUTに書込み 標準出力に書込み |
書式指定書込み | printf "書式", リスト | |
指定バイト読込み | read(IN, 変数, バイト数, 位置) | INの現在位置から指定バイト数を変数の指定位置に読み込む |
アクセス位置変更 | seek(ファイルハンドル, アクセス位置, フラグ,) | ファイルハンドルの現在の位置をアクセス位置に変更(フラグ0:先頭から, 1:現在位置から, 2:末尾から) |
ファイルをクローズ | close ファイルハンドル | |
ファイル削除 | unlink("FileName") | |
ファイル終りの検出 | eof(IN) eof() eof |
|
1文字読込み | getc getc IN |
|
配列操作 | ||
シフト | shift(@配列) unshift |
先頭要素を除去してうしろから詰める 先頭にリストを挿入 |
末尾要素 | push pop |
|
置き換え | splice | |
順序 | sort reverse |
|
ハッシュ操作 | delete 要素 each ハッシュ keys ハッシュ values ハッシュ |
|
文字列関数 | chop chop 変数 chop(リスト) index(文字列1, 文字列2[, 位置]) rindex(文字列1, 文字列2[, 位置]) length(文字列) sprintf("書式", リスト) substr(文字列, 位置[, バイト長]) |
メタ文字
|
拡張正規表現
正規表現によるパターンマッチのつかいどころ
|
e | 置換文字列を式として評価 |
g | すべてを探し出す |
i | 大文字と小文字を同一視 |
m | 文字列を複数行として扱う |
o | パターンのコンパイルを1度だけにする |
s | 文字列を単一行として扱う |
x | 拡張正規表現を使用 |
検索リスト | |
c | 検索リストを補集合に(含まれない文字を変換) |
d | 見つかったが置換されなかった文字を削除。指定しない場合は置換リストの最後の文字を必要に応じて使用 |
s | 変換後の文字が重なったときに1文字に圧縮 |