Comunicación Interactiva con Expect

El módulo Expect mantenido por Roland Giersig trae a Perl las funcionalidades del lenguaje Expect. Para su uso, el módulo requiere los módulos IO::Pty y IO::Stty . El lenguaje Expect es descrito en el libro de Don Libes [4] Exploring Expect. El lenguaje Expect esta escrito en Tcl y es, al mismo tiempo, una extensión de Tcl. Puede encontrar una introducción al lenguaje en http://www6.uniovi.es/tcl/tutorial/index.html (puede encontrar una copia en http://nereida.deioc.ull.es/˜lhp/tcl/tutorial/index.html y alguna información adicional en http://nereida.deioc.ull.es/˜lhp/tcl/).

La mayoría de las shell y lenguajes de script proveen un control limitado sobre los procesos: podemos arrancarlos, enviarles señales, etc. En general, no es posible ejecutar en lotes ciertos programas como passwd o ssh . Expect extiende el modelo UNIX de comunicación entre procesos considerando un nivel más de interacción.

Expect fue diseñado para automatizar el manejo de programas interactivos. Un programador Expect escribe un guión describiendo el diálogo entre el usuario y la aplicación. A continuación es posible ejecutar el programa Expect de manera que el papel del usuario queda automatizado. Incluso es posible pasar dinámicamente control del programa al teclado y viceversa. Puede encontrar unos apuntes sobre el uso de expect en http://www.linuxlots.com/˜barreiro/spain/expect/.

Casiano Rodríguez León
2012-02-29