NAME

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

VERSION

version 1.003029

SYNOPSIS

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

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.