Mo::builder - Adds the builder feature to Mo's has
use Mo qw'builder'; has name => ( builder => 'name_lookup' ); sub name_lookup { my ($self) = @_; ... }
Adds the builder parameter to has, which expects a method name, which is executed on $self to set the attribute if it hasn't been set yet.
builder
$self
Builders in Mo are lazy by default. This can be changed by explicitly setting the lazy argument to false, in order to cause it to be initialized during instantiation.
lazy
use Mo qw'builder'; has status => ( builder => '_build_status' ); # lazy has source => ( builder => '_build_source', lazy => 1); # lazy has target => ( builder => '_build_target', lazy => 0); # eager
To change the default behavior and make builders to be initialized eagerly by default, import nonlazy.
nonlazy
use Mo qw'builder nonlazy'; has status => ( builder => '_build_status' ); # eager has source => ( builder => '_build_source', lazy => 1); # lazy has target => ( builder => '_build_target', lazy => 0); # eager
To install Mo, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mo
CPAN shell
perl -MCPAN -e shell install Mo
For more information on module installation, please visit the detailed CPAN module installation guide.