Bootable学習帳

Bootable学習帳
~日々のPerlドリル~
平成19年9月30日
図書系職員のためのアプリケーション
開発講習会
基本編
ここでは、Perlの次の基本機能についてマ
スターしているかどうかを確認します。
–
–
–
–
–
–
print文
ファイル入出力
パターンマッチ
置換
配列
ハッシュ
まずは肩慣らし
問題1
– “Perlはパターンマッチとハッシュが便利です”
とのメッセージを”mbc1.txt”に書き出しましょう
問題2
– 配布したテキストファイル”mbc2.txt” を
“mbc3.txt”にコピーしましょう。もちろんPerlで
問題3
– 1 ~ 100 までの数字を”mbc4.txt”に書き出しま
しょう。ただし、10行以内で書いてください。
ひとつレベルを上げます
問題4
– ファイル”mbc1.txt”の「図書勘」を含む行をす
べて、”mbc5.txt”に書き出します
問題5
– ファイル”mbc1.txt”に含まれる。「図書勘」をす
べて「図書館」に直して、”mbc6.txt”に書き出し
ます。
ついでにもうひとつレベルアップ!
問題6
– タブ区切りテキスト”mbc7.txt”から、資料IDの
フィールドだけ取り出します。
問題7
– タブ区切りテキスト”mbc7.txt”と”mbc8.txt”を資
料IDでマッチングします。マッチしたIDだけと
りだしてください。
日常生活編
ここでは、講師が実際に遭遇した問題に、
みなさまもチャレンジしていただきます
数千件のレコードを手作業で処理するの
に仮に2時間かかるとしましょう。もし、5分
でPerlスクリプトを組めれば、10人力の力
持ちです!
問題1
”雑誌調査.xls”の貸出中冊数欄に数値があ
れば、「○○冊」という型式にしてください
請求番号
貸出中冊数
請求番号
貸出中冊数
10:65
3
10:65
3冊
12:36
15:24
12:36
4
16:20
20:06
15:24
4冊
16:20
2
20:06
2冊
問題2
“雑誌調査.xls”の各列に番号を振ります。た
だし、備考欄に「不要」とあるものは、番号
を飛ばしてください
請求番号
備考
15:30
16:20
請求番号
備考
15:30
不要
16:20
No
1
不要
18:05
18:05
2
20:06
20:06
3
問題3
“備品番号.xls”の資料ID欄と登記番号(旧式)か
ら、登記番号欄と遡及ID欄を作成してください
資料ID
9900001380
登記番号
1942
資料ID
登記番号
9900001380 1942
9910001644
9910001644 9910001644
9910001990
9910001990 9910001990
9900002552
299
9900002552 299
遡及ID
9900001380
9900002552
問題4
問題3の“備品番号.xls”に、”資産
額..Xls“の資産価格を加えてくださ
い
資料ID
登記番号
資料ID
資産価格
9900000135
828
9910000943
3000
9910000117
9910000117
9900000135
2000
9910000943
9910000943
9900000663
1158
資料ID
登記番号
資産価格
9900000135
828
9910000117
9910000117
2000
9910000943
9910000943
3000
9900000663
1158
問題5
所蔵データを書誌ID
ごとに1行にまとめて
みましょう。
書誌ID
所蔵
20000010
A図書室
20000010
B図書室
20000017
C図書室
20000017
B図書室
20000017
A図書室
(以下、略)
20000010
20000017
20000042
20025589
20073280
A図書室 B図書室
A図書室 B図書室 C図書室
E図書室
A図書室 C図書室 D図書室
D図書室