ホーム > 読んだ

冨田尚樹
Perl CPAN モジュールガイド

ガイド

書誌

author冨田尚樹
publisherワークスコーポレーション
year2011
price2600+tax
isbn978-4-86267-108-0

目次

1本文

履歴

editor唯野
2014.03.09読了
2014.03.10公開
2020.2.25文字化け修正

書名の通り今どきの Perl プログラミングで有用といえる CPAN モジュールを紹介した本だが、それなりに網羅的でありながら、解説も簡潔でよくまとまっている。定番的な strict、constant から始まって、クラス関係では base や Exporter だけでなく流行りの Moose、文字コードでの Encode、utf8 からデータベース、インターネット、Web 開発、テストと開発支援まで幅広く取り上げられている。(具体的に収録されているモジュール一覧は版元のサイトに目次としてある。)

個人的には Web::Scraper についてを知りたかったので買ったのだが、Try::Tiny による例外や Devel::SimpleTrace によるスタックトレースの表示などでも参考になった。Perl は LL 言語としては最近は Python などに押され気味だとは思うけれども、やはり過去の膨大な資産――特に CPAN におけるモジュールの豊富さ――では、まだ一日の長があると思う。それくらいに自分で欲しいと思いつく程度のモジュールは既に誰かが作ってくれていて、それをインストールするだけで使えるのはありがたいことである。実際に『Perl クックブック』なども問題解決の際に参照するには便利であるが、有用なモジュールを使うというのも「車輪の再発明はしない」という Perl の理念から考えれば、どんどん活用すべきだろう。

私の場合は Windows で(Cygwin 用は競合するので) ActivePerl を主に使っているが、参考までに PPM の標準リポジトリだけで見つけられないモジュールは以下のようにしてリポジトリを追加すればよい。

> ppm rep add [リポジトリ名] [URL]

例えば私の場合だと以下など。

> ppm rep add bribes http://www.bribes.org/perl/ppm
> ppm rep add trouchelle http://trouchelle.com/ppm/  (for 5.8 他のバージョン用も有)

後は ppm search [モジュール名] して検索結果の番号で ppm install [番号] すればよい。これで依存関係にあるモジュールもまとめてインストールしてくれる。これを見ると Web::Scraper は HTML::TreeBuilder::XPath をより使いやすくしたものであることが分かる。

C:\>ppm search Web::Scraper
Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
1: Web-Scraper
   Web Scraping Toolkit using HTML and CSS Selectors or XPath expressions
   Version: 0.37
   Released: 2012-10-19
   Author: Tatsuhiko Miyagawa <miyagawa@bulknews.net>
   Provide: Web::Scraper version 0.37
   Require: HTML::Entities
   Require: HTML::Selector::XPath version 0.03 or better
   Require: HTML::Tagset
   Require: HTML::TreeBuilder version 3.23 or better
   Require: HTML::TreeBuilder::XPath version 0.08 or better
   Require: LWP version 5.827 or better
   Require: Scalar::Util
   Require: UNIVERSAL::require
   Require: URI
   Require: XML::XPathEngine version 0.08 or better
   Require: YAML
   Repo: ActiveState Package Repository
   Link: http://ppm4.activestate.com/MSWin32-x86/5.16/1603/M/MI/MIYAGAWA/Web-Scr
aper-0.37.ppmx
   CPAN: http://search.cpan.org/dist/Web-Scraper-0.37/
   Installed: 0.37 (site)
C:\>ppm install 1
Downloading Web-Scraper-0.37...done
Unpacking Web-Scraper-0.37...done
Generating HTML for Web-Scraper-0.37...done
Updating files in site area...done
   5 files unchanged
   3 files updated

ちなみに本書では、この辺の実際のモジュールのインストールなどの解説はそれほどされていない。Perl とモジュールの基礎知識は既に持っている人をターゲットとしているので、その辺は別の本を当たるべきだろう。