X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=lib%2FDevel%2FREPL%2FOverview.pod;h=2c839a79dab1e79f906103103974783f9e4864d9;hp=3d7b81deaec185a33dc4c0f850186d6f9774596c;hb=796cd7ec80de14e45ca8221d545aceb7b9bc0b71;hpb=0e0d2539048eade7dfa30fff6f1ad5b7e90bbf70 diff --git a/lib/Devel/REPL/Overview.pod b/lib/Devel/REPL/Overview.pod index 3d7b81d..2c839a7 100644 --- a/lib/Devel/REPL/Overview.pod +++ b/lib/Devel/REPL/Overview.pod @@ -1,3 +1,5 @@ +=pod + =head1 NAME Devel::REPL::Overview - overview of Devel::REPL. @@ -6,7 +8,7 @@ Devel::REPL::Overview - overview of Devel::REPL. =head2 What is a console? How it can assist you? - Most modern languages have consoles. Console is an interactive tool +Most modern languages have consoles. The console is an interactive tool that evaluates your input while you type it. It gives you several advantages: @@ -30,16 +32,13 @@ You can even call a console in your script and play around in script's context =back - For Ruby it would be irb, for Python is... python by itself and for perl... and there was nothing for perl (except that ugly perl -d -e "" and several -failed projects) until Devel::REPL was written by Matt S Trout (a.k.a. mst) +failed projects) until L was written by Matt S Trout (a.k.a. mst) from ShadowCatSystems L. - =head2 Devel::REPL - the Perl console - REPL stands for Read, Evaluate, Print, Loop. Lets install and try it. @@ -131,15 +130,15 @@ An example session: =head2 Control files a.k.a. I don't want to type it every time -Devel::REPL has control files feature. Control files are +L has a control files feature. Control files are evaluated on session start in the same way as you would -type them manually in console. +type them manually in the console. -Default control file is located at `$HOME/.re.pl/repl.rc` . +The default control file is located at F<$HOME/.re.pl/repl.rc>. You can store there any statements you would normally type in. -I.e. my `$HOME/.re.pl/repl.rc` has next lines: +I.e. my F<$HOME/.re.pl/repl.rc> has next lines: use feature 'say'; # to don't write \n all the time @@ -149,12 +148,12 @@ I.e. my `$HOME/.re.pl/repl.rc` has next lines: sub pp { print Data::Dumper->Dump([@_]) } You can have multiple control files and they can be anywhere in the -file system. To make re.pl use some rc-file other than repl.rc +file system. To make F use some rc-file other than F, call it like this: $ re.pl --rcfile /path/to/your/rc.file -If your rc-file is in `$HOME/.re.pl` directory, you can omit path: +If your rc-file is in F<$HOME/.re.pl> directory, you can omit the path: $ re.pl --rcfile rc.file @@ -172,32 +171,32 @@ Bundled plugins are: =item * -Devel::REPL::Plugin::History +L No comments. Simply history. =item * -Devel::REPL::Plugin::!LexEnv +L Provides a lexical environment for the Devel::REPL. =item * -Devel::REPL::Plugin::DDS +L Formats return values with Data::Dump::Streamer module. =item * -Devel::REPL::Plugin::Packages +L Keeps track of which package your're in. =item * -Devel::REPL::Plugin::Commands +L Generic command creation plugin using injected functions. =item * -Devel::REPL::Plugin::MultiLine::PPI +L Makes Devel::REPL read your input until your block is finished. What does this means: you can type a part of a block on one line and second part on another: @@ -216,20 +215,18 @@ Devel::REPL::Plugin::MultiLine::PPI but this *doesn't* mean you can print sub name or identifier on several lines. Don't do that! It won't work. - =back There are lots of contributed plugins you can find at CPAN. =head1 Profiles -If plugins change and extend functionality of Devel::REPL, profiles +If plugins change and extend functionality of L, profiles are changing your environment (loaded plugins, constants, subs and etc.). -There's only one bundled profile called `Devel::REPL::Profile::Default`, lets -take a look at it: +For example, the Minimal profile, L: - package Devel::REPL::Profile::Default; + package Devel::REPL::Profile::Minimal; use Moose; ### advanced OOP system for Perl @@ -253,11 +250,23 @@ take a look at it: 1; -At the moment there are no profiles on CPAN. Mostly you'll use control files. -To enable some profile use --profile switch: +There is also the L profile, which contains a number of optional (yet +very useful) features. + +To enable some profile use the C<--profile> switch: $ re.pl --profile SomeProfile -=head1 See Also +Alternatively, you can set the environment variable C to +C, or set the C key in your C (see +L for more information). + +=head1 SEE ALSO + +=for :list +* L +* L +* L +* L -L, L, L +=cut