Sign in to PrePAN

EAV::XS Email Address Validator



use EAV::XS;

my $eav = EAV::XS->new();

if ($eav->is_email ('')) {
   print "This is a valid email address.\n";
} else {
   printf "The email address is not valid: %s\n", $eav->error();


This is yet another email address validation module. The main goal is support RFC 6531 (UTF-8 email addresses). And this is default mode of the module.

The major part of the code written in C and there is the separate library called libeav which may be embedded in any application, not just Perl.

Actually, the libeav supports all email address specifications as described in RFC 822, RFC 5321, RFC 5322 and RFC 6531. Also it can be easily modified for your tastes.

This module checks "addr-spec" and does not the "address" specification as many modules does already. See details below:

address = mailbox / group
mailbox = name-addr / addr-spec
addr-spec = local-part "@" domain


I would love to see this on CPAN! We currently use `Email::Valid`, but that does not support RFC 6531.

Please sign up to post a review.