---
name: "Devel::REPL::Plugin::MultiLine::PPI"
section: "3pm"
platform: "linux"
package: "libdevel-repl-perl"
version: "1.003029-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Devel::REPL::Plugin::MultiLine::PPI"
---

# Devel::REPL::Plugin::MultiLine::PPI(3pm)

Read lines until all blocks are closed

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

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