logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Devel::REPL::Plugin::OutputCache - Remember past results, _ is most recent

Author

       Shawn M Moore, "<sartak at gmail dot com>"

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.

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 a "not" expression.  "OutputCache"  uses  a  regular  (if
           oddly named) subroutine so Perl does the parsing -- no surprises.

Name

       Devel::REPL::Plugin::OutputCache - Remember past results, _ is most recent

See Also

       "Devel::REPL", "Devel::REPL::Plugin::History"

Support

       Bugs         may        be        submitted        through        the        RT        bug        tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-REPL>       (or       bug-Devel-REPL@rt.cpan.org
       <mailto:bug-Devel-REPL@rt.cpan.org>).

       There  is  also  an  irc  channel available for users of this distribution, at "#devel" on "irc.perl.org"
       <irc://irc.perl.org/#devel-repl>.

Synopsis

           > 21 / 7
           3
           > _ * _
           9
           > sub { die "later" }
           sub { die "later" }
           > _->()
           Runtime error: later

Version

       version 1.003029

See Also