package AddressA; use Moose; use Moose::Util::TypeConstraints; use Regexp::Common 'zip'; subtype USZipCodeA => as Value => where { /^$RE{zip}{US}{-extended => 'allow'}$/ }; has 'zip_code' => (is => 'rw', isa => 'USZipCodeA'); 1;