You were right that was weird, but i think i got it. Here is what i got:
$email=~ /(((\w+)[\.| dot ])+[\@| at ]((\w+)[\.| dot ])+[a-zA-Z]{2,3})
Essentially i think the problem was that u had (\.| dot ) but they should be in '[' (square) brackets i think that fixed, oh i also changed your {1,}...