This page linked from [ ]

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/;
}