NAME Class::Accessor::Fast::WithBuilder - Class::Accessor::Fast with lazy defaults VERSION 0.0101 DESCRIPTION This module will require builders for each attribute defined. This means that adding attributes with this module, is something like this code from Moose: has age => ( is => "ro", # or rw lazy => 1, builder => "_build_age", ); NOTE: All builders will be called as late as possible. SYNOPSIS package Foo; use base qw(Class::Accessor::Fast::WithBuilder); Foo->mk_accessors(qw( name age )); sub _build_name { $_[0]->_croak("'name' attribute cannot be built!") } sub _build_age { 0 } print Foo->new->name; # BOOM! print Foo->new->age; # Will print "0" print Foo->new({ age => 123 })->age; # Will print "123" METHODS make_accessor See "make_accessor" in Class::Accessor make_ro_accessor See "make_ro_accessor" in Class::Accessor make_wo_accessor This is not implemented. (See "make_wo_accessor" in Class::Accessor) COPYRIGHT & LICENSE AUTHOR Jan Henning Thorsen "jhthorsen at cpan.org"