モダンPerl入門が届いた

2009年2月12日
| コメント(0) | トラックバック(1) モダンPerl入門が届いた

…というようなエントリーをちらほら見かけた。
で、今日、Amazonからうちにも届いた。

モダンPerl入門 (CodeZine BOOKS)
牧 大輔
翔泳社
売り上げランキング: 210

Mooseが面白そうなので、最初からソースを自分で入力してみることにした。
自分で書くほうがソースを何度も見る(読む)事にもなるし、実際に動くところを見るのもよさそうだったから。

「use Moose」で自動的にstrictになる、というのが不思議。
とはいえ、「use strict」を書かないのも気持ち悪く、微妙な気持ちだが、慣れればそんなものかも。

ちなみに既に正誤表が用意されているようです。
『モダンPerl入門』正誤表

そういえば、一つ動かないソースがありました。

p14

sub write_response {
    my ($self, $client, $request) = @_;
    print $client scalar(localtime), " ";
    $self->SUPER($client, $request);
}

これを実行すると、クライアントからリクエストを打つとエラーで止まりました。

Can't locate object method "SUPER" via package "TimestampedEchoServer" at TimestampedEchoServer.pm line 11, <GEN1> line 1.

この間違いは単純なもので、正しくはSUPERの先に関数名が必要です。

sub write_response {
    my ($self, $client, $request) = @_;
    print $client scalar(localtime), " ";
    $self->SUPER::write_response($client, $request);
}

まあ、Mooseを使うのであれば、before等を使うほうが良いでしょうね。

トラックバック(1)

このブログ記事に対するトラックバックURL:

このブログ記事を参照しているブログ一覧:

日曜プログラマのそゞろ事 - 自動的にstrictが有効になる理由 (2009年2月12日 23:36)

Mooseをuseすると自動的にstrictになる、というのが不思議だったのだが... 続きを読む

コメントする

Google検索

Last.fm

このブログ記事について

このページは、のぶりんが2009年2月12日 00:46に書いたブログ記事です。

ひとつ前のブログ記事は「Perlでファイルをサブディレクトリごとコピーする」です。

次のブログ記事は「自動的にstrictが有効になる理由」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type