The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Term::ReadLine::Perl5 - A Perl5 implementation GNU Readline

SYNOPSIS

  use Term::ReadLine::Perl5;
  $term = new Term::ReadLine::Perl5 'ProgramName';
  while ( defined ($_ = $term->readline('prompt>')) ) {
    ...
  }

DESCRIPTION

Overview

This is a implementation of the GNU Readline/History Library written in Perl5.

GNU Readline reads lines from an interactive terminal with emacs or vi editing capabilities. It provides as mechanism for saving history of previous input.

This package typically used in command-line interfaces and REPLs (Read, Eval, Print, Loop).

INSTALL

To install this module type:

    perl Build.PL
    make
    # for interactive testing:
    make test
    # for non-interactive testing
    AUTOMATED_TESTING=1 make test
    make install # might need sudo make install

HISTORY

The first implementation was in Perl4 (mostly) by Jeffrey Friedl. He referenced FSF the code Roland Schemers line_edit.pl.

Ilya Zakharevich turned this into a Perl5 module called Term::ReadLine::Perl. Some of the changes he made include using Term::ReadKey if present, and made this work under xterm. The file Term/ReadLine/Perl5/CHANGES up to but not including version 1.04 contains a list of his changes.

Starting with version 1.04 Rocky Bernstein forked the code, adding GNU readline history. He put it into a public git repository (git) and also started modernizing it by doing the things CPAN prefers, including adding POD documentation, non-interactive tests, and respecting CPAN module namespaces.

BUGS

Bugs are accepted via the github issues tracker.

LICENSE

See the contents of the file LICENSE