Devel::REPL::Plugin::MultiLine::PPI.3pm

Langue: en

Version: 2008-08-12 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Devel::REPL::Plugin::MultiLine::PPI - read lines until all blocks are closed

SYNOPSIS

     #!/usr/bin/perl 
 
     use lib './lib';
     use Devel::REPL;
 
     my $repl = Devel::REPL->new;
     $repl->load_plugin('LexEnv');
     $repl->load_plugin('History');
     $repl->load_plugin('MultiLine::PPI');
     $repl->run;
 
 

DESCRIPTION

Plugin that will collect lines until you have no unfinished structures. This lets you write subroutines, "if" statements, loops, etc. more naturally.

For example, without a MultiLine plugin,

     $ my $x = 3;
     3
     $ if ($x == 3) {
 
 

will throw a compile error, because that "if" statement is incomplete. With a MultiLine plugin,

     $ my $x = 3;
     3
     $ if ($x == 3) {
 
     > print "OH NOES!"
 
     > }
     OH NOES
     1
 
 

you may write the code across multiple lines, such as in "irb" and "python".

This module uses PPI. This plugin is named "MultiLine::PPI" because someone else may conceivably implement similar behavior some other less dependency-heavy way.

SEE ALSO

"Devel::REPL"

AUTHOR

Shawn M Moore, "<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.