package Farm; use Moose; has 'farmName' => ( is => 'rw', isa => 'Str', default => sub { "" }, ); has 'farmBirds' => ( is => 'rw', isa => 'ArrayRef', default => sub { [] }, ); has 'farmMammals' => ( is => 'rw', isa => 'ArrayRef', default => sub { [] }, ); 1; #### my $farm = Farm->new; $farm->farmName('Old Mac Donald'); push @{$farm->farmBirds} => 'Chicken'; push @{$farm->farmMammals} => 'Pig'; #### my $farm = Farm->new( farmName => 'Old Mac Donald', farmBirds => [ 'Chicken', 'Duck' ], farmMammals => [ 'Pig', 'Cow' ], );