Devel::REPL::Plugin::OutputCache - Remember past results, _ is most recent
version 1.003028
> 21 / 7 3 > _ * _ 9 > sub { die "later" } sub { die "later" } > _->() Runtime error: later
Re-using results is very useful when working in a REPL. With OutputCache you get _, which holds the past result. The benefit is that you can build up your result instead of having to type it in all at once, or store it in intermediate variables. OutputCache also provides $_REPL->output_cache, an array reference of all results in this session.
OutputCache
_
$_REPL->output_cache
Devel::REPL already has a similar plugin, Devel::REPL::Plugin::History. There are some key differences though:
History remembers input. OutputCache remembers output.
History
History performs regular expressions on your input. OutputCache provides the _ sub as a hook to get the most recent result, and $_REPL->output_cache for any other results.
History will replace exclamation points in any part of the input. This is problematic if you accidentally include one in a string, or in a not expression. OutputCache uses a regular (if oddly named) subroutine so Perl does the parsing -- no surprises.
not
The _ sub is shared across all packages. This means that if a module is using the _ sub, then there is a conflict and you should not use this plugin. For example, Jifty uses the _ sub for localization. Jifty is the only known user.
Devel::REPL, Devel::REPL::Plugin::History
Devel::REPL
Devel::REPL::Plugin::History
Bugs may be submitted through the RT bug tracker (or bug-Devel-REPL@rt.cpan.org).
There is also an irc channel available for users of this distribution, at #devel on irc.perl.org.
#devel
irc.perl.org
Shawn M Moore, <sartak at gmail dot com>
<sartak at gmail dot com>
Copyright (C) 2007 by Shawn M Moore
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Devel::REPL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::REPL
CPAN shell
perl -MCPAN -e shell install Devel::REPL
For more information on module installation, please visit the detailed CPAN module installation guide.