For 2023 - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Buffering of inputs to expect, and match order
If you're using the expect
command to wait for one of a series of inputs within your expect program, information will be checked in the program's internal buffers inthe following order:
a) Any string that matches expect_before
will be found
b) Matches to each of the possible patterns in expect
c) Matches to expect_after
Note that you can't be certain how much information will have been written to the internal buffer up to any point, so you need to exercise care when specifying the possible sequences.
Once expect_before expect_after or expect matches as string, the section up to that string is transferred to the expect_out(buffer) variable that you can reference in your continuing Tcl, and that section is removed from the internal bugger. The following expect
command will start looking from where the previous successful match was found.
Note that the -notransfer
option to expect will prevent the matched section from being removed from the internal buffer.
command allows you to specifiy an expect command that runs, in effect, in an asyncronous background loop. You can use it to receive inputs from processes that may be responding from time to time while you're doing other processing in the foreground, without having to go into a wait loop until one of those background processes responds. (written 2007-10-27, updated 2007-10-30)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesT242 - Tcl/Tk - More on Expect 
Expect for Windows - (2005-09-04) 
Cheat Sheet / Check list for Expect maintainers - (2007-05-02) 
Tcl/Tk - updating your display while tasks are running - (2007-12-16) 
Expecting a item from a list of possibles - (2008-02-04) 
Quick easy and dangerous - automated logins via Tcl / Expect - (2009-10-24) 
Expect in Perl - a short explanation and a practical example - (2010-10-22) 
Checking all the systems on a subnet, using Expect and Tk - (2011-09-18)T211 - Tcl/Tk - What is Expect? Why use it? 
Automating regular manual procedures - (2005-04-21) 
Installing Tcl and Expect on Solaris 10 - a checklist - (2007-05-02) 
What is Expect? - (2007-10-26) 
Curley brackets v double quotes - Tcl, Tk, Expect - (2007-12-12) 
Automating processes through Expect - (2008-04-05) 
Using Tcl and Expect to automate repetitive jobs - (2009-10-24) 
Parallel Pinging, using Python Threads or Expect spawn lists - (2009-11-02) 
Should we cover expect and/or Tk on our public Tcl courses? - (2011-05-11) 
Adding Expect on top of Tcl - what is it and where can I get a training course to learn about it? - (2012-01-08) 
Backup procedures - via backup server - (2015-01-24) 
Expect with Ruby - a training example to get you started - (2016-05-18)
Some other Articles
Better technology makes for longer commutes?What we teach - expained for the non-technicalThe little gestures that can really countSparse and Greedy matching - Tcl 8.4Buffering of inputs to expect, and match orderTcl / regsub - changing a string and using interesting bitsWireless hotel tips - FTP and Skype connections failingReading from another process in Tcl (pipes and sockets)Away or home - which do I prefer?
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).