package Person; use Moo; use Types::Standard 'Int'; has name => (is => 'rw'); has age => (is => 'rw', isa => Int->where(q{ $_ > 0 })); 1; #### package Person; use Moo; use Types::Common::Numeric 'PositiveInt'; has name => (is => 'rw'); has age => (is => 'rw', isa => PositiveInt); 1; #### package Person; use Moo; use Types::Common::Numeric 'IntRange'; has name => (is => 'rw'); has age => (is => 'rw', isa => IntRange[0,200]); # 200 is a realistic age limit 1;