2007/10/23

Perlを使いこなすべし

図書館利用のススメという記事の中で「公営図書館、こんなに便利なもの利用しない手はない」ってことを以前書いた。読んでいただいた諸兄は、地元の図書館を調べてみたりしたかな?


まぁ、何するのしても自分で動かないと始まらない。
自分の部屋で恋愛小説読んだり、ラブロマンスもののDVDを鑑賞してたって実際に恋ができたりしないわな。出会い系・・・そんなモノあるにはあるが、それで満足するなら勝手に続けてくれや。


さて、話題を戻そう。
ヲイラの使っている公営図書館では、これから入荷して書棚に並ぶ本をリストにして公開している。

まずは次のリストをざっと眺めてくれ。

*************************************************

◆11月2日入荷予定の本◆

番号/書名/著者名/出版社/NDC
1 ネット君臨 毎日新聞取材班著 毎日新聞社 2007.10 NDC: 007.3 MARCNO: 07053042
2 日本古代史地名事典 加藤謙吉編集委員 雄山閣 2007.10 NDC: R210.3 MARCNO: 07053645
3 図説ドイツの歴史(ふくろうの本) 石田勇治編著 河出書房新社 2007.10 NDC: 234.06 MARCNO: 07053234
4 幸福大国ブータン 王妃が語る桃源郷の素顔 ドルジェ・ワンモ・ワンチュ… 日本放送出版協会 2007.10 NDC: 292.588 MARCNO: 07053174
5 「民法0・1・2・3条」<私>が生きるルール(理想の教室) 大村敦志著 みすず書房 2007.10 NDC: 324 MARCNO: 07053263
6 Q&A消費者団体訴訟制度(Sanseido Law Capsule) 松本恒雄著 三省堂 2007.11 NDC: 365 MARCNO: 07053480
7 おえかきウォッチング 子どもの絵を10倍たのしむ方法 なかがわちひろ著 理論社 2007.11 NDC: 376.156 MARCNO: 07052916
8 桃山・江戸のファッションリーダー 描かれた流行の変遷(塙選書 105) 森理恵著 塙書房 2007.10 NDC: 383.1 MARCNO: 07053694
9 水平線までの距離は何キロか? 文系でも楽しめる「およそ数学」の世界 沢田功著 祥伝社 2007.11 NDC: 410.4 MARCNO: 07053748
10 大人のアトピー、アレルギー&皮膚の悩み相談室 あなたもアレルギーかも… 永倉俊和著 主婦の友社 2007.11 NDC: 493.14 MARCNO: 07053194
11 バセドウ病正しい治療がわかる本(EBMシリーズ) 吉岡成人著 法研 2007.10 NDC: 493.49 MARCNO: 07053071
12 普通の家族がいちばん怖い 徹底調査!破滅する日本の食卓 岩村暢子著 新潮社 2007.10 NDC: 498.5 MARCNO: 07053916
13 自然素材がいっぱいの心地いい家(PLUS 1 HOUSING) 主婦の友社 2007.11 NDC: 527 MARCNO: 07053457
14 やさしくわかる歯車のしくみ 簡単工作で歯車の基本が身…(技術チャレンジ) 小林義行著 誠文堂新光社 2007.11 NDC: 531.6 MARCNO: 07053583
15 汚れおとし大事典 ナチュラル・クリーニング 佐光紀子著 ブロンズ新社 2007.10 NDC: 597.9 MARCNO: 07052915
16 青色ミライ 楽月慎著 光文社 2007.10 NDC: 913.6 MARCNO: 07053604
17 妖しい詩韻 内田康夫著 角川春樹事務所 2007.10 NDC: 913.6 MARCNO: 07053052
18 いつかは恋を 藤田宜永著 講談社 2007.10 NDC: 913.6 MARCNO: 07053637
19 グラデーション 永井するみ著 光文社 2007.10 NDC: 913.6 MARCNO: 07052951
20 渋谷に里帰り 山本幸久著 日本放送出版協会 2007.10 NDC: 913.6 MARCNO: 07053427

*************************************************

こんな感じで常時300件以上のリストがテキストで公開されている。
人気の既刊だと予約が殺到しちゃっていつヲイラの番になるのかわからないから、読みたい本は入荷する前に予約しちゃうのが賢い方法だ。


それでは膨大なリストから目的の本を手軽に探すにはどうするか?
ちょっとパソコンに詳しくなれば、サンプルリストがスペースで区切られたテキストの羅列になっていることに気づくはずだ。それなら簡単、テキストエディタを開き上述したリストをコピペで張り付け”.csv”の拡張子をつけて保存。次にExcelを起動してcsv形式で保存した書類を開いくとテキストファイルウィザードが起動して成形してくれるからオートフィルターを使ったり、検索すれば・・・。


多分、誰かがこんな作業をしているうちにヲイラだったら3冊以上先に予約できちゃう。
テキストを扱うのにもっとも適したプログラミング言語を知っているから。そしてスプリクトも極めてシンプルだ。


LinuxやMacOSXならターミナルを起動して


perl -ne 'print if /パターン/' hogehoge.csv


とタイプする。Windows環境は前提条件としてPerlをインストールしといてくれ。使うのはコマンドプロンプトだ。


スラッシュで囲われたパターンには本のタイトルや出版社、好きな作家など探しているモノを当てはめてやればいい。それではおなじみのコマンドログをどーぞ。

[hoge@localhost hoge]$ cd Desktop
[hoge@localhost Desktop]$ perl -ne 'print if /山田/' hogehoge.csv
16 日曜日に読む『荘子』 山田 史生/著 筑摩書房 124.25
64 子どもの人権をまもる知識とQ&A 山田 由紀子/著 法学書院 369.4
84 マ・ゴ・ワ・ヤ・サ・シ・イレシピ 山田 豊文/監修 ブティック社 498.583
130 アンティーク絵はがきの誘惑 山田 俊幸/著 産経新聞出版 726.501
[hoge@localhost Desktop]$ perl -ne 'print if /東野/' hogehoge.csv
[hoge@localhost Desktop]$ perl -ne 'print if /重松/' hogehoge.csv
[hoge@localhost Desktop]$ perl -ne 'print if /るるぶ/' hogehoge.csv
26 るるぶ青梅あきる野福生羽村 JTBパブリッシング 291.365
33 るるぶ天橋立城崎北近畿 ’08 JTBパブリッシング 291.64
35 るるぶ福岡 ’08 JTBパブリッシング 291.91
34 るるぶ横浜鎌倉ベストセレクト 2008最新版 JTBパブリッシング 291.37
[hoge@localhost Desktop]$ perl -ne 'print if /講談社/' hogehoge.csv
18 いつかは恋を 藤田宜永著 講談社 2007.10 NDC: 913.6 MARCNO: 07053637
25 平和とは非凡な幸運 曽野綾子著 講談社 2007.10 NDC: 914.6 MARCNO: 07053640
28 イサナ龍宮の闘いへ たつみや章作 講談社 2007.10 NDC: K913.6 MARCNO: 07053635
3 イスラエル・ロビーとアメリカの外交政策 2 ジョン・J.ミアシャイマー著 講談社 2007.10 NDC:319.53027 MARC No:07052757
19 書庫の母 辻井喬著 講談社 2007.10 NDC:913.6 MARC No:07052228
22 花合せ 濱次お役者双六 田牧大和著 講談社 2007.10 NDC:913.6 MARC No:07052257
23 深く深く、砂に埋めて 真梨幸子著 講談社 2007.10 NDC:913.6 MARC No:07052259
47 10にんのきこり A.ラマチャンドランさく 講談社 2007.10 NDC:E MARC No:07052201
31 レボリューション 須藤 元気/著 講談社 295.5
100 旬の味 鈴木 登紀子/著 講談社 596.21
138 転生 篠田 節子/著 講談社 913.6
145 天帝の愛でたまう孤島 古野 まほろ/著 講談社 913.6
148 不気味で素朴な囲われた世界 西尾 維新/著 講談社 913.6
153 十津川警部金沢・絢爛たる殺人 西村 京太郎/著 講談社 913.6
156 絆のはなし 伊坂 幸太郎/著 講談社 914.6
167 アディオス、ヘミングウェイ レオナルド・パドゥー ランダムハウス講談社 963
6 Q&Aで学ぶやさしい微生物学 浜本哲郎著 講談社 2007.10 465
7 「ふるえやけいれん」がよくわかる本(健康ライブラリー) 寺本純著 講談社 2007.10 493.74
8 ダウン症のすべてがわかる本 イラスト版(健康ライブラリー) 池田由紀江監修 講談社 2007.10 493.94
16 あじさい日記 渡辺淳一著 講談社 2007.10 913.6
22 三日月 宮崎誉子著 講談社 2007.10 913.6
25 リベルタスの寓話 島田荘司著 講談社 2007.10 913.6
19 もったいないことしてないかい? 真珠 まりこ/作・絵 講談社 E
31 21世紀仏教への旅 日本・アメリカ編 五木 寛之/著 講談社 182
100 きちんとごはん、食べてる? 松田 美智子/著 講談社 596
120 東京ディズニーリゾートレストランガイドブ 〔2007〕 ディズニーファン編集 講談社 689.5
121 子どもといく東京ディズニーシーナビガイド 講談社 689.5
162 刀語 第10話 西尾 維新/著 講談社 913.6
164 パーフェクト・ワールド Book.10 清涼院 流水/著 講談社 913.6
4 「感謝」と「謝罪」 はじめて聞く日中“異文化”の話 相原茂著 講談社 2007.9 361.42
23 日曜農園 松井雪子著 講談社 2007.9 913.6
32 もったいないことしてないかい? もったいないばあさん(講談社の創作絵本) 真珠まりこ作・絵 講談社 2007.9 E
2 アンジェリーナのハロウィーン キャサリン・ホラバー 講談社 E
26 ヨシアキは戦争で生まれ戦争で死んだ 面高 直子/著 講談社 289.3
40 自治体倒産時代 樺嶋 秀吉/〔著〕 講談社 349.21
44 なぜ若者は「半径1m以内」で生活したがる 岸本 裕紀子/〔著〕 講談社 367.68
47 介護の大誤解! 三好 春樹/著 講談社 369.26
52 日本の情報機関 黒井 文太郎/〔著〕 講談社 391.6
56 がんを狙い撃つ「樹状細胞療法」 高橋 豊/〔著〕 講談社 494.5
58 子どもの「パン食」は今日からおやめなさい 幕内 秀夫/〔著〕 講談社 498.5
72 新美肌革命 佐伯 チズ/著 講談社 595.5
74 家族をいたわるスープブック 村岡 奈弥/著 講談社 596
75 2品で献立晩ごはん 講談社 596
81 10分でらくらく簡単おかず 講談社 596
105 No.6 #6 あさの あつこ/〔著 講談社 913.6
117 昭和の子供は青洟をたらしていた 池田 敏秀/著 講談社 914.6
4 介護の大誤解!(介護ライブラリー) 三好春樹著 講談社 2007.9 369.26
46 半次捕物控 髻塚不首尾一件始末 佐藤雅美著 講談社 2007.9 913.6
65 アンジェリーナのハロウィーン(講談社の翻訳絵本) キャサリン・ホラバード文 講談 社 2007.9 E
14 針つくりの花むこさん 瀬戸内 寂聴/文 講談社 E
96 ハゲタカ 下 真山 仁/〔著〕 講談社 913.6
104 ハゲタカ 上 真山 仁/〔著〕 講談社 913.6
117 ぶらりぶらぶらクレヨン王国 福永 令三/著 講談社 914.6
[hoge@localhost Desktop]$ exit


今日検索したリストには山田悠介も東野圭吾も重松清の新刊はなかった。
あまりにヒットしないので、ちょっと心配になってしまい講談社で検索したらかなり出てきて驚いたといった様子が伝わっただろうか?


ここには実際に書かなかったけれど、3冊ほど読みたい本がヒットしたのでまずまずの出来かな。
同じコマンドを何回もタイプするのが大変じゃない?なんて声も聞こえてきそうなので、念のため注釈を入れておくと上矢印キーを一度タイプすると、ターミナルを起動してから使ったコマンドの履歴が現れる(OSXやWindowsはわかんねぇよ)。だから横着者でもご心配なく。


Perlの用途は不適切な使い方を含めて、他にも使い方がたくさんある。CGIだけに使っていたんじゃもったいないぞ。