Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Mo::build(3)	      User Contributed Perl Documentation	  Mo::build(3)

Name
       Mo::build - Adds	the build feature to Mo

Synopsis
	   use Mo qw'build';
	   has name => ( is => 'rw' );

	   sub BUILD {
	       my $self	= shift;
	       ...
	   }

Description
       Adds the	"BUILD"	feature	to Mo when imported.

       If a sub	called "BUILD" exists on the package, it will be executed on
       $self during instantiation.

       Any non-lazy "default" and "builder" attributes,	as well	as any value
       passed to "new" will already be set when	"BUILD"	is called.

	   package ABCD;
	   use Mo qw'build builder default';
	   use feature 'say';

	   has a => (default =>	1234, lazy => 0);
	   has b => (builder =>	'_b', lazy => 0);
	   has c => (is	=> 'rw');
	   has d => (is	=> 'rw');

	   sub _b { 'blue' }

	   sub BUILD {
	       my ($self) = @_;
	       say $self->{a};
	       say $self->{b};
	       say $self->{c};
	       say 'undef' unless defined $self->{d};
	   }

	   ABCD->new(c => 'days') # => 1234
				  #    blue
				  #    days
				  #    undef

perl v5.24.1			  2016-07-06			  Mo::build(3)

Name | Synopsis | Description

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Mo::build&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help