O tener algo más de vida social… sino no me explico como Paul Warren ha sido capaz de tener el aguante para hacer (con sus probables depuraciones) la siguiente expresión regular en Perl (al final de la historia la explicación de la misma):
(?:(?:rn)?[ t])*(?:(?:(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t]
)+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:
rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(
?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[
t]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-
31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*
](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+
(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:
(?:rn)?[ t])*))*|(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z
|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)
?[ t])*)*@,;:\”.[] 00-31]+(?:(?:(?:
rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[
t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)
?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t]
)*))*(?:,@(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[
t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*
)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t]
)+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*)
*:(?:(?:rn)?[ t])*)?(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+
|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:r
n)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:
rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t
]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31
]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](
?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?
:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?
:rn)?[ t])*))*>(?:(?:rn)?[ t])*)|(?:[^()@,;:\".[] 00-31]+(?:(?
:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?
[ t]))*”(?:(?:rn)?[ t])*)*:(?:(?:rn)?[ t])*(?:(?:(?:[^()@,;:\".[]
00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|
\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()
@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”
(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t]
)*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\
".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?
:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[
]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*|(?:[^()@,;:\".[] 00-
31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\.|(
?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)*@,;
:\”.[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([
^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\"
.[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[
]r\]|\.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)?[ t])*(?:[^()@,;:\".
[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]
r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[]
00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]
|\.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?(?:[^()@,;:\".[]
00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?:[^\"r\]|\
.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,
;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]]))|”(?
:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*
(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".
[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[
^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[]
]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*>(?:(?:rn)?[ t])*)(?:,s*(
?:(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\
".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(
?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[
["()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t
])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t
])+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?
:.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|
Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*|(?:
[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".[
]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)*@,;:\”.[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["
()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)
?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()
@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)?[
t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,
;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t]
)*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\
".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?
(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[["()@,;:\".
[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(?:
rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[
"()@,;:\".[]]))|”(?:[^\"r\]|\.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])
*))*@(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])
+|Z|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*)(?:
.(?:(?:rn)?[ t])*(?:[^()@,;:\".[] 00-31]+(?:(?:(?:rn)?[ t])+|Z
|(?=[["()@,;:\".[]]))|[([^[]r\]|\.)*](?:(?:rn)?[ t])*))*>(?:(
?:rn)?[ t])*))*)?;s*)
Esta “cosita de nada”, parte del módulo Mail::RFC822::Address, es capaz de comprobar que una dirección de correo cumple a rajatabla la definición de las direcciones dada en el RFC 822. Siempre me ha parecido que Perl es el lenguaje que incorpora la programación ofuscada por defecto xD