package Person;
-use Moose;
-
-use namespace::clean -except => "meta";
-
-has [qw(first_name last_name)] => (
- is => "rw",
- required => 1,
-);
-
-sub full_name {
- my $self = shift;
- $self->first_name . " " . $self->last_name;
-}
-
-override BUILDARGS => sub {
- my ( $self, @args ) = @_;
-
- if ( @args == 1 and ref $args[0] eq 'ARRAY' ) {
- my %p; @p{qw(first_name last_name)} = @{ $args[0] };
- return \%p;
- } else {
- return super;
- }
-};
-
-__PACKAGE__->meta->make_immutable;
1;