The Command-Line User Interface Term::Clui.pm Term::Clui offers a high-level user interface, with subroutines &choose &ask &edit &view and &confirm. It interfaces to the user at a much higher level than widgets; it gives command-line applications a consistent "look and feel". Its metaphor for the computer is as a human-like conversation-partner, and as each answer/response is completed it is summarised onto one line, and remains on screen, so that the history of the session gradually accumulates on the screen and is available for review, or for cut/paste. For the user, &edit and &view use the default EDITOR and PAGER from the user's environment, except that if &view is called with a very short text a builtin viewer is used allowing the user to choose whether the text remains on-screen or is cleared. &choose uses arrow keys (or hjkl) and return (or q to quit), &confirm expects Y,y,N or n. It's fast, very easy for both programmer and user, and has few external dependencies. It doesn't use curses which is a whole-of screen interface; it uses a tiny subset of vt100 sequences (up down left right normal and reverse), which are very portable. There is an HTML equivalent planned, offering similarly named routines for CGI scripts. It requires Exporter, flush.pl, and complete.pl, which are all core Perl. It handles window size changes, using Term::Size.pm if that is available; if not, it tries `tput`. To install: perl Makefile.PL make make test make install Author: Peter Billam computing@pjb.com.au http://www.pjb.com.au Available from: http://www.cpan.org/SITES.html