PerLine
#!/usr/bin/perl
use Term::ReadLine;
my $IPERL_TERM = new Term::ReadLine 'Interactive Perl';
my $IPERL_OUT = $IPERL_TERM->OUT || \*STDOUT;
my $IPERL_PROMPT = "iperl> ";
while(defined ($IPERL_LINE = $IPERL_TERM->readline($IPERL_PROMPT)) ){
$IPERL_BUF .= $IPERL_LINE;
$IPERL_PROMPT = ' ';
{ $IPERL_ = $_;
$_ = $IPERL_BUF;
if(scalar(/\{/) eq scalar(/\}/) && scalar(/\(/) eq scalar(/\)/)){
$IPERL_EXEC = 1;
}
$_ = $IPERL_;}
if($IPERL_EXEC){
print $IPERL_OUT eval($IPERL_BUF)."\n";
warn $@ if $@;
$IPERL_BUF = '';
$IPERL_PROMPT = "iperl> ";
$IPERL_EXEC = 0;
}
$IPERL_TERM->addhistory($IPERL_LINE) if $IPERL_LINE =~ /\S/;
}