Taint is a good thing. However, few people use taint even though they should.
The goal of this module isn't to use taint less, but to actually encourage its
use more.
This module aims to make using taint as painless as possible (This can be an
argument against it - often implementation of security implies pain - so taking
away pain might lessen security - sort of).
pty is a tool to help debug console programs which take the terminal out of
canonical mode, by allowing the program being debugged and the debugger to run
on separate terminal devices.
To use pty, the programmer changes to the terminal device where he or she
wishes to interact with the program to be debugged, and at the shell
prompt, runs pty with no arguments. Pty will print out the filename of the
slave side of the pseudo-terminal it has opened. Inside the debugger,
running in another terminal device, one then redirects the program to be
debugged's IO to the slave (tty command of gdb). When you are finished
using pty, you must manually kill it. When pty starts it prints out its
pid.
While ANSI color escape codes are fairly simple, it can be hard to
remember the codes for all of the attributes and the code resulting
from hard-coding them into your script is definitely difficult to
read. This module is designed to fix those problems, as well as
provide a convenient interface to do a few things for you
automatically (like resetting attributes after the text you print out
so that you don't accidentally leave attributes set).
Despite its name, this module can also handle non-color ANSI text
attributes (bold, underline, reverse video, and blink). It uses either
of two interfaces, one of which uses "constants" for each different
attribute and the other of which uses two subs which take strings of
attributes as arguments.
This module provides a framework to produce sprite animations using
ASCII art. Each ASCII 'sprite' is given one or more frames, and placed
into the animation as an 'animation object'. An animation object can
have a callback routine that controls the position and frame of the
object.
If the constructor is passed no arguments, it assumes that it is
running full screen, and behaves accordingly. Alternatively, it can
accept a curses window (created with the Curses newwin call) as an
argument, and will draw into that window.
Term::Clui offers a high-level user interface to give the user of command-line
applications a consistent "look and feel". Its metaphor for the computer is as
a human-like conversation-partner, and as each question/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. This user interface can therefore be intermixed with standard
applications which write to STDOUT or STDERR, such as make, pgp, rcs etc.
Perl interface to the NetBSD editline library.
Term::Menus allows you to create powerful Terminal, Console and CMD
environment menus. Any perl script used in a Terminal, Console or CMD
environment can now include a menu facility that includes sub-menus,
forward and backward navigation, single or multiple selection
capabilities, dynamic item creation and customized banners. All this
power is simple to implement with a straight forward and very
intuitive configuration hash structure that mirrors the actual menu
architecture needed by the application. A separate configuration file
is optional. Term::Menus is cross platform compatible.
A really simple progress bar for things that take a while.
Doing something: ###########
The bar grows as things done. Fifty hash marks are printed
altogether.
This perl routine will take a prompt, a default response and a list
of possible responses and deal with the user interface, (and the
user!), by displaying the prompt, showing the default, and checking
to be sure that the response is one of the legal choices.
Excerpted from the README file:
Term::Query.pm is a Perl 5 module, which performs generalized queries on
various kinds of values. Validation and normalization of input, based
on the type, is automated, as is error reporting and re-solicitation of
input.
Input of '?', unless configured otherwise, provides useful, helpful
information, based on the expected input type, even in the absence of a
programmer-supplied help string.