Class::Data::Accessor
クラス変数へのアクセサ(継承可)を提供してくれるクラス。
インスタンスごとに値を変えることもできる。
use strict; use warnings; use Class::Data::Accessor; use base qw/Class::Data::Accessor/; #instance value def my $obj = bless { id => '001', }, 'main'; #class value def main->mk_classaccessor('id'); main->id('002'); #instance value print $obj->id."\n"; #class value print main->id."\n";
http://search.cpan.org/src/CLACO/Class-Data-Accessor-0.04002/lib/Class/Data/Accessor.pmにIf you don't want this behaviour use L
とあるように、あくまでClass::Data::Inheritableがベースで、それにClass::Accessorの機能がおまけ的になっているイメージか。
インスタンスによってgetterの戻り値が違うのは諸刃の剣になりそうな感じ。