Devel::REPL::Plugin::ReadLineHistory - Integrate history with the facilities provided by Term::ReadLine


version 1.003029


This plugin enables loading and saving command line history from a file as well has history expansion of previous commands using the !-syntax a la bash.

By default, history expansion is enabled with this plugin when using Term::ReadLine::Gnu. That means that "loose" '!' characters will be treated as history events which may not be what you wish.

To avoid this, you need to quote the '!' with '\':

  my $var = "foo\!";

or place the arguments in single quotes---but enable the Term::ReadLine attribute history_quotes_inhibit_expansion:

  $_REPL->term->Attribs->{history_quotes_inhibit_expansion} = 1;
  my $var = 'foo!';

and to disable history expansion from GNU readline/history do

  $_REPL->term->Attribs->{do_expand} = 0;


Note that Term::ReadLine::Perl does not support a history expansion method. In that case, you may wish to use the Devel::REPL History plugin which provides similar functions. Work is underway to make use of either History or ReadLineHistory> consistent for expansion with either the Term::ReadLine::Gnu support or Term::ReadLine::Perl.


Bugs may be submitted through the RT bug tracker (or

There is also an irc channel available for users of this distribution, at #devel on


Matt S Trout - mst (at) (


This software is copyright (c) 2007 by Matt S Trout - mst (at) (

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.