All these interactive inputs are going into variables, right? Dump the info you get via the inputs into files (you can do this directly to the variables using Data::Dumper or that other module I can't remember right now) and then, with a little hacking, you can run it without the inputs - just simulate the inputs with the information you got from them.