Expect.pm v1.11 Expect requires IO::Tty and IO::Stty, also available from CPAN. There is a Bundle::Expect available that installs everything for you. If you prefer manual installation, the usual perl Makefile.PL make make install should work. I finally started a simple testsuite for Expect, but it doesn't really test anything deeper right now. It would probably be wise to read the docs on IO::Tty before doing a make install with it. The Expect for Perl module was inspired more by the functionality the Tcl tool provides 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). The Tcl Expect home page is 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. I started a new FAQ (Expect_FAQ.pod), so please let me know if there's something you'd like to see answered there that isn't. From the Changelog: =================== Bugs fixed: ! max_accum (match_max) finally really restricts the match-buffer-size. ! expect() didn't return the correct error state upon EOF ! soft_close() was re-reading the filehandle even when an EOF had already been detected, resulting in a very long delay. ! exp_continue() returned a value that got truncated with certain perl versions (5.6 :-( ) on certain systems. Features added: + Lee Eakin contributed a perl version of the kibitz script which might be of common interest. See the examples/kibitz subdir. Thanks Lee! + Expect got it's own print() so we can show what's getting sent to the spawned program when exp_internal is set. (suggested by horos@earth.he.net) + a session can now be logged to a file by setting log_file(). Thanks to Marcel Widjaja for suggesting this. + I added some aliases for certain methods to help Tcl/Expect users to a WLIE experience (Work Like I Expect). 'exp_pid', 'match_max', 'log_file', 'log_user', even 'send' (which is an alias for 'print') are all there now. But I won't make 'send_user' an alias for 'print STDOUT', you have to draw a line somewhere. + some diagnosis messages now use cluck to print a stacktrace (suggested by horos@earth.he.net) + there is a new option 'restart_timeout_upon_receive', that, when set to 1, will restart the timeout within the expect call. This is useful when supervising an application that produces periodic, but not well-defined output and you still want to react to certain patterns. Just say $exp->restart_timeout_upon_receive(1); $exp->expect($timeout, [ timeout => \&report_timeout ], [ qr/pattern/ => \&handle_pattern ]); (suggested by horos@earth.he.net) Thanks to everybody who wrote to me, either with bug reports or enhancement suggestions! Roland Giersig (Expect.pm maintainer) RGiersig@cpan.org 2001-02-20