-ne: | 引数で指定した各ファイルから一行ずつ読み込んで、その各行を $_ に入れる処理を繰り返す。 |
-pe: | -ne と似ているけど、繰り返し処理の最後で $_ を print する(らしい)。 |
文字列 | 入出力モード |
"r" | 読み込みのみ。ファイルが存在しない場合はエラーになる |
"r+" | 読み込み+書き込み。ファイルが存在しない場合はエラーになる |
"w" | 書き込みのみ。ファイルがなければ新規作成。あればサイズを0にする。 |
"w+" | 読み込み+書き込み。ファイルがなければ新規作成。あればサイズを0にする。 |
"a" | 追加書き込み。ファイルがなければ新規作成。ファイル末尾にseekする。 |
"a+" | 追加読み込み+書き込み。ファイルがなければ新規作成。ファイル末尾にseekする。 |
定数 | 基本的な入出力モード |
RDONLY | 読み込み |
WRONLY | 書き込み。 |
RDWR | 読み込み+書き込み。 |
定数 | 補助的な入出力モード |
CREAT | 指定したpathにファイルが存在しない場合は作成する。この定数が指定されない場合、ファイルが存在していなければエラーになる。 |
EXCL | CREATと一緒に指定された場合、ファイルが既に存在した場合にエラーになる。 |
NOCTTY | 指定したpathがterminalデバイスを参照していて、かつプロセスが制御端末を持たない場合でも、そのterminalが制御端末にならない。 |
TRUNC | ファイルが既に存在し、通常ファイルであり、書き込み可能モード(RDWR又はWRONLY)が指定されている場合、そのファイルの長さは0に切り詰められる。 |
APPEND | ファイルを追加モードでオープンし、ファイル末端にseekする。 |
NONBLOCK NDELAY |
ファイルをnonblockingモードでオープンする。openを始めとする、ファイルディスクリプタに対する全てのシステムコールはブロックしない。ブロックが発生しそうな場合にはシステムコールが失敗する。 |
SYNC | ファイルを同期I/Oモードでオープンする。ファイルディスクリプタに対する全てのwriteは、実際に書き込みが完了するまで終了しない。 |
# total: 総行数 # nfile: ファイル数 total = 0 nfile = 0 for file in ARGV n = 0 File::foreach( file ) do n += 1 end printf "file %s has %d lines \n", file, n total += n nfile += 1 end printf "total %d files %d lines \n", nfile, totalこれのモノホンはここね。
。 | 任意の一文字 |
* | 直前の表現の0回以上のくり返し |
+ | 直前の表現の1回以上のくり返し |
? | 直前の表現の0回か、1回のくり返し |
\\、\。、\*、\+、\?、 | \ 。 * + ? という文字そのもの/td> |
\d | 数字のクラス |
\w | 英数字のクラス |
\s | 空白文字(スペース、タブ、改行)のクラス |
\D、\W、\S | それぞれの小文字の補文字(以外)クラス |