InPerl
履歴閲覧: 最新 2009/11/12 2007/12/14 2004/02/24 2004/02/18 2004/01/23 2004/01/22 2004/01/16 2004/01/07 2003/12/18 2003/12/16 2003/12/16 2003/12/13 {2003/12/12[差分表示]}
#!/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/;
}