第 4 回 - Perl 入門(2)

[10/23, 2009 H.Aman]
67x27(1669bytes)  

課題 3-1

例題 3 を参考にして) C のソースコードを読込み,その中で次の条件を満たす単語のみを表示する Perl スクリプト find_identifier.pl を作りなさい:
     英文字で始まりその後ろに英数字(英文字または数字)が 0 文字以上続く.
     ただし,アンダースコアも特別に英文字とする.
ここでは便宜上,単語の区切りが \b で決まるとしてよい.
(本来は #include <stdio.h> が #, include, <, stdio, ., h, > という具合いに単語分けされるのはおかしいが, この問題に限ってはかまわないものとする.)

(実行例)

     $ perl find_identifier.pl foo.c
     include
     stdio
     h
     int
     ..... (中略)
     n
     N
     sum
     return

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

課題 3-2

テキストファイルを入力とし, その中に登場する単語の中で最も長いものを出力する Perl スクリプト longest.pl を作りなさい.
ただし,単語を構成する文字として許されるのは アルファベット(小文字,大文字)のみとする. なお,答えに該当するような単語は一つしかないと仮定してよい.
※単語の長さは length 演算子を使用するとよい: length(文字列)

(実行例)

     $ perl longest.pl ex3.txt
     implementation

入力ファイル(上とは異なるので注意!
abstract1.txt abstract2.txt abstract3.txt abstract4.txt abstract5.txt
abstract6.txt abstract7.txt abstract8.txt abstract9.txt abstract10.txt