The only way to avoid spammers is to never put your email address in any form in public.
Spammers are so far ahead of you that you should always assume that they are more able to get what you try to hide than you are able to hide it.
Here's a sample parsing algorithm, please note that this is going to take me about as much time to develop as it takes me to type it:
sed -e 's/[[:space:]]@[[:space:]]/@/g' -e 's/[[:space:]]at[[:space:]]/@/g -e 's/[[:space:]]dot[[:space:]]/./g -e 's/[[:space:]]\.[[:space:]]/./g' -e 's/.*\([a-zA-Z0-9\.-_~]+\)\(@\)\([a-zA-Z0-9\.-_~]+\).*/\1\2\3\/g'
With a tiny bit more work I could get it to grab any and all 'hidden' email addresses on this page, and any other page. I think that is close to working, don't actually care but believe me, to write this type of logic is trivial. This one won't grab foreign characters for example, but will grab everything else. This one is not actually real, since it would deliver too many false positives, but that's easy to fix with some tweaks.
That changes on a page, all ' at ' to '@', then all ' dot ' to '.', then puts it all together and spits out a perfectly formed email address. Would need some fine tuning to handle dots at the end of a sentence and so on, but that's trivial to fix.
In general, to avoid spam, avoid ever placing your email address in any shape in public. Anything that has an easily predictable pattern can easily be parsed and digested by spam bots, which are automated web page requests that get parsed on a server somewhere, just the same as google does to grab and digest the web pages it shows you.