in reply to checking email syntax
You could use Email::Valid from CPAN.
See also How do I check a valid mail address?