in reply to
how to make a good interface?
When I do this sort of thing I turn my program into a CGI and the UI becomes a web page. Then the user can use the 'back' button to change the parameters. If there is no web server handy you can use one of the perl modules that supplies one (such as HTTP::Daemon).
I like a good terminal interface, but most of the users that I deal with prefer the web approach. Handling program state properly can be tricky (you can use something like CGI::Application to help with this), but if all you need is some parameters for your program, it should be easy.
It should work perfectly the first time! - toma