in reply to OT: eregi deprecated

eregi("\n", $youremail) becomes preg_match("/\n/", $youremail).

But personally, I'd replace this:

!eregi("\r",$youremail) && !eregi("\n",$youremail)

With this, because strpos is faster than a regexp:

strpos("\r",$youremail)===FALSE && strpos("\n",$youremail)===FALSE

Or even (it'll probably be faster, but it's slightly obscure):

strpos("\r",$youremail)===strpos("\n",$youremail)
package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name