Moose

MooseX::Storage::Format::Storable でJavaのSerializableっぽくオブジェクトのシリアライズ

以下のように with Storage('format' => 'Storable'); とMooseのRoleをconsumeすると、そのクラスのオブジェクトをserialize, deserializeできるようになります。JavaのSerializable interfaceをimplementsするような感じでつかえるのはいいですね。 package…

MooseX::Methodで引数チェック

perlcodesampleさんのをMooseX::Methodで書いてみました。 http://d.hatena.ne.jp/perlcodesample/20080702#seeallMooseX::Methodだと、宣言的に書けて美しいですね。コード量もかなり短くなっています。 #!/usr/bin/env perl use strict; use warnings; { p…

MooseX::AttributeHelpersでArrayRef、HashRefのアクセッサを簡単に作成する

Moose標準だと、ArrayRefのattributeを作ってそれをラップするメソッドを書く事になりますが、これは面倒です。そんなときに、使うのがMooseX::AttributeHelpersです。attributeを拡張してくれます。これで、arrayrefにaliasのようなものを追加できるように…

XIRCDでのMooseX::POEの使い方

MooseX::POEの使い方の例として、XIRCDを少し見てみました。 http://coderepos.org/share/browser/lang/perl/XIRCD/trunk/以下、メモです Component MooseX::POEを使う new時にPOCO::XXXをspawan POE系の冗長な記述を簡易に書く仕組み Sub::Exporterでpostな…