I am amazed by how Expect (TCL) can automate a lot of things I normally could not do.
I thought I could dig deeper into Expect by reading a book, but before I do that I want to ask if there are other solutions/languages that could do what Expect does?
Eg. I have read that people compare Expect with Awk and also Perl.
Could Awk and Perl do the same thing?
How about other languages like Python and Ruby?
Is Expect the de-facto automation tool or are there other solutions/languages that are more superior?
ajsie asks, "Which other automation tools are you talking about?"  
I'll answer a different question:  "which other contexts do I have in mind"?  The answer:  any interactive environment OTHER than a stdio one.  Expect is NOT for automation of GUI points-and-clicks, for example.  Expect is also not available for Win* non-console applications, even if they look as though they are character-oriented (such exist).
An exciting counter-realization:  Expect is for automation of wacky equipment that permits control by a term-like connection.  If your diesel engine (or, more typically, telecomm iron) says it can be monitored by hooking up a telnet-like process (even through an old-style serial line, say), you're in a domain where Expect has a chance to work its magic.
Other solutions/languages that are superior to the TCL-based Expect?