use Email::Valid; has 'email' => ( is => 'rw', isa => subtype('Str', where { Email::Valid->address($_) }) );