Term::ReadLine::Gnu provides functions for use by interactive programs
that allow users to edit command lines as they are typed in.  The
module includes additional functions to maintain a list of
previously-entered command lines, to recall and perhaps reedit those
lines.
