Expect.pm v1.14 =============== Expect requires the latest version of IO::Tty, also available from CPAN. IO::Stty has become optional but I'd suggest you also install it. If you use the highly recommended CPAN module, there is a Bundle::Expect available that installs everything for you. If you prefer manual installation, the usual perl Makefile.PL make make test make install should work. I finally started a testsuite for Expect, but it doesn't really test anything deeper right now. The problem is to find some external program to use for generating reproducible output that is available across all platforms. Luckily, we can always use perl itself... Contributions to the testsuite are of course welcome. Note that IO::Tty is very system-dependend. It has been extensively reworked and tested, but there still may be systems that have problems. The Perl Expect module was inspired more by the functionality of Tcl/Expect than any previous Expect-like tool such as Comm.pl or chat2.pl. The Tcl version of Expect is a creation of Don Libes (libes@nist.gov) and can be found at http://expect.nist.gov/. Don has written an excellent in-depth tutorial of Tcl/Expect, which is _Exploring Expect_. It is the O'Reilly book with the monkey on the front. Don has several references to other articles on the Expect web page. I try to stay as close to Tcl/Expect in interface and semantics as possible (so I can refer questions to the Tcl/Expect docu). Suggestions for improvement are always welcome. [Latest rumours have it that Don plans a rewrite of Expect as a stand-alone library that can be easily embedded into various scripting languages.] There is now a FAQ section in the pod, complete with examples, so please let me know if there's something you'd like to see answered there that isn't. There are two mailing lists available, expectperl-announce and expectperl-discuss, at http://lists.sourceforge.net/lists/listinfo/expectperl-announce and http://lists.sourceforge.net/lists/listinfo/expectperl-discuss From the Changes file: ====================== ! changed tests to check out pty behaviour (max. string length) + added various FAQ entries + added autoflush(1) to log_file + split 'new' and 'spawn' to be able to set slave pty params via stty before actually spawning the program + added raw_pty() + added notransfer() + added print_log_file(), send() now no longer prints to log file or stdout. ! spawn() now synchronizes child and parent, so exec errors are reported. + timeout handlers now also can exp_continue + added 'raw_pty' option, also setting master to raw if isatty() + added and corrected test for exit status; got rid of Test.pm ! use 'set_raw' instead of stty("raw"); IO::Stty now optional + updated docs & FAQs; explained how terminal sizes and SIGWINCH should be propagated ! fixed bug in log_file, parameter now gets set to undef. ! fixed select in interconnect, may return -1 if interrupted by signal. Thanks to everybody who wrote to me, either with bug reports or enhancement suggestions! Roland Giersig (maintainer of Expect.pm, IO::Tty, IO::Stty, Tie::Persistent) RGiersig@cpan.org 2002-03-12