Delante del .com y .org pueden ir montones de cosas.
Por ejemplo, lo siguiente es una dirección de correo válida:
[email protected]pero también lo es esto:
Joaquin <"Programador Perl"@perlenespanol.com (esta direccion ya no esta activa)>Sí: todo eso que ves es una dirección de correo completamente válida.
A mis clientes les permito que pongan un '#' en la parte local, para indicar que cierta dirección es válida solo durante un cierto tiempo.
O incluso yo mismo uso '+' para hacer que los correos se coloquen en su carpeta correspondiente:
[email protected]Lo cual es muy útil para evitar que el correo se llene de correo basura, pues se pueden poner filtros de forma sencilla.
Como dices que no quieres usar módulos, lo que me temo es que quieres comprobar lo mínimo: parte local + '@' + dominio.
La parte de dominio, que es lo que preguntas, suele ser '[\w.-]+' (caracteres alfanuméricos, más el guión, más el punto para separar los subdominios), así que quedaría
Using perl Syntax Highlighting
if ($mail =~ /[\w.-]+(com|org)/)
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4