I tried writing a script that runs an interactive shell (for example, a telnet or FTP prompt) and manages it's input and output. However, I was soon stuck under how to manage STDIN and STDOUT to that process. IO::Pty looks promising, but isn't supported in Windows ActiveState. IO::React is supported, but needs a filehandle already connected to that process.