続・初めてのPerl 改訂版 - Randal L. Schwartz、brian d foy、Tom Phoenix
Perlについてもう少し勉強したかったので、今さらですが「続・初めてのPerl」を読んでみました。
「はじめてのPerl」でとりあえず初心者は卒業した、というくらいの初級者が、さらに一皮むけるためのPerl解説本です。内容的には、Perlの特徴的なリファレンスを使ったオブジェクト指向の作り方やPerlを使ったそれなりに大きな規模のソフトウェアの作り方、さらにはCPANに投稿する方法まで紹介されています。とりあえずここに載っていることができれば、あとは自分で調べてPerlを使いこなしていける、というレベルに持って行ってくれる本です。
リファレンス
Perlにおけるリファレンスとは、C言語のポインタのようなものになります。このリファレンスをうまく使うと、本来オブジェクト指向でないPerlでオブジェクト指向を実現することができます。
{ package Animal; sub speak { my $class = shift; print "a $class goes ", $class->sound, "!\n"; } } { package Cow; @ISA = qw(Animal); sub sound { "moooo" } } { package Horse; @ISA = qw(Animal); sub sound { "neigh" } } { package Sheep; @ISA = qw(Animal); sub sound { "baaaah" } } Cow->speak(); Horse->speak(); Sheep->speak(); - p142参考
ほかのオブジェクト指向な言語と比べると、ちょっと変わっていて、ちょっととっつきにくく、妙にあっさりとした感じです。ただ、いろんなことをこってり書かなくていいのは良いですよね。
テスト->ディストリビューションの作成->CPANへのアップロード
この本の最後では、この一連のモジュール開発の部分が紹介されています。CPANへのアップロードというと、オープンソースの開発であり、世界中に自分のコードを晒すことになります。それを初級の本に書いてしまうあたりが、Perlの言語というかコミュニティの性格をよくあらわしている気がします。
まだ、アップロードできそうなものは作れていないのですが、いずれアップロードしていきたいですね。