PerlとCPANとTemplate::Extractを使ってみる

naoya氏のTemplate::Extract + XML::RSS でRSS 生成というエントリをいつか試してみようと、はてブしたままずっと放置していたのだけど、ようやくその気になったのでやってみた。

もともとPerlはど素人*1なのでCPANのモジュールやら使いこなすだけでもすげー、と思ってしまう*2けど、こうやってサンプルソースを見てたりしてるとCPANって便利なモジュールが転がってるなと実感。

今さらながら、XML::RSSとか*3、LWP::Simpleとか、素人丸出しで「へー、こんなのが簡単に書けるんだ」とか思ってしまった。

で、肝心のTemplate::Extract。抜き出したいWebサイトのHTMLがキレイに出力されているなら使い勝手もいいんだろうと思う。ちょうど抜き出したい部分の周りに適当な目印になるタグなどが無いとテンプレートを作るのに苦労するかな…というところ。

あと今回試してみたサイトだと、マッチした文字列に
とか とか前後に付いてしまってるのでそれを取り除かないといけない*4とかいろいろあって、意外と面倒。

もう少し頑張れば希望の動作をするのは作れそうだな…。

久しぶりにマジメにPerl書きに挑戦したので、分からないところ*5

初めてのPerl
初めてのPerl ランダル・L. シュワルツ トム フェニックス Randal L. Schwartz

おすすめ平均
stars初めての人には難しいと思います。
starsPerlが便利なツールになる(そのための入門書)
starsStill using for UNIX admin
stars非常にわかりやすいです
stars読んだその日から使える実践書

Amazonで詳しく見る by G-Tools

を読みながら。

買ったときは頭から読み進めようとして失敗した*6のだけど、こういうコーディング中の場面ではけっこう使いやすい本だったんだと実感。

  • *1: Template ToolkitとCatalystは流行った時にかじったことはあるけれど
  • *2: Perl使いの人はCPANでどうやって自分の目的に合いそうなモジュール探してるんだろう?
  • *3: うちの環境ではcpanコマンドでインストール失敗したのでXML::RSS::LibXMLを使った
  • *4: 正規表現で置換がふつうだろうけど、なんかこの辺のHTML実体参照を一発で操作できるのは無いだろうか。HTML::Entitiesというのを見つけたけど目的のとはちょっと違うようだった
  • *5: =~ s///gの=~って?とか。素人レベルの疑問
  • *6: コーディングせずに文字だけ読んでも頭に入らないし、リファレンス的に使ったほうが自分の場合は理解が早いように思う。本自体は教科書的な感じで読み進めながら勉強するようになってるけど
タイトルとURLをコピーしました