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 instead.
とあるように、あくまでClass::Data::Inheritableがベースで、それにClass::Accessorの機能がおまけ的になっているイメージか。
インスタンスによってgetterの戻り値が違うのは諸刃の剣になりそうな感じ。