第 4 回 - Perl 入門(2)

[10/23, 2009 H.Aman]
67x27(1669bytes)   67x27(1669bytes) 【例題 2】

課題 1-1

テキストファイルを入力とし, セミコロン(;で終わる行 がいくつあるかを出力する Perl スクリプト count_semi.pl を作りなさい.
なお,「セミコロンで終わる」というパターンは
   /;$/
と指定するとよい("$" が「文字列の終わり」を意味する. これについては 例題 3 でも説明する.)

(実行例)

     $ perl count_semi.pl foo.c
     8

入力ファイル
sample1.c sample2.c sample3.c sample4.c sample5.c
sample6.c sample7.c sample8.c sample9.c sample10.c

課題 1-2

テキストファイルを入力とし, その中で %d という文字列が何回登場するかを出力する Perl スクリプト count_pd.pl を作りなさい.

(ヒント)
例題 1 や課題 1-1 ではパターンマッチが行単位になってしまうため, いったん

     @words = split(/ /, $line); 
という具合いに空白文字で行の内容を分断し, 単語一つずつ(配列 word の各要素)に対してパターンマッチを行うとよい. ここでは便宜上,複数の %d が %d%d という具合いにつながるような場合はない(つまり, 空白文字で区切ればうまく分断できる)としてよい.

(実行例)

     $ perl count_pd.pl foo.c
     4

入力ファイル(課題 1-1 と同じ)
sample1.c sample2.c sample3.c sample4.c sample5.c
sample6.c sample7.c sample8.c sample9.c sample10.c