Matt S Trout > Devel-REPL-1.003007 > Devel::REPL::Plugin::MultiLine::PPI

Download:
Devel-REPL-1.003007.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  6
Open  16
Stalled  2
View/Report Bugs
Source   Latest Release: Devel-REPL-1.003026

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 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.

syntax highlighting: