NAME
Devel::REPL::Plugin::OutputCache - Remember past results, _ is most recent
VERSION
version 1.003029
SYNOPSIS
> 21 / 7
3
> _ * _
9
> sub { die "later" }
sub { die "later" }
> _->()
Runtime error: later
DESCRIPTION
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.
Devel::REPL already has a similar plugin, Devel::REPL::Plugin::History. There are some key differences though:
- Input vs Output
-
History
remembers input.OutputCache
remembers output. - Munging vs Pure Perl
-
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. - Principle of Least Surprise
-
History
will replace exclamation points in any part of the input. This is problematic if you accidentally include one in a string, or in anot
expression.OutputCache
uses a regular (if oddly named) subroutine so Perl does the parsing -- no surprises.
CAVEATS
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.
SEE ALSO
Devel::REPL
, Devel::REPL::Plugin::History
SUPPORT
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
.
AUTHOR
Shawn M Moore, <sartak at gmail dot com>
COPYRIGHT AND LICENSE
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.