>164 どうもありがと。gikotk 眺めてたら 何も Text に拘らなくてもいいんじゃないかと思ったよ。こんなんなったよ。

---
use Tk;

$maxline = 25;
$fontname = "{MS明朝} 12";
$w = new MainWindow;
$f = $w->Frame( -relief => 'sunken', -bd => 2 )->pack;

for( $i=0; $i <$maxline; $i++ ) {
$e[$i] = $f->Entry( -width => 80, -bd => 0, -font => $fontname )->pack;
$ar[$i] = $e[$i]->bind( '<KeyPress-Return>', [ \&calc, $i ] );

$ar[$i] = $e[$i]->bind( '<KeyPress-Up>', [ \&line, $i, -1 ] );
$ar[$i] = $e[$i]->bind( '<KeyPress-Down>', [ \&line, $i, 1 ] );
}
$e[0]->focus;
$w->resizable(0,0);

MainLoop;


sub calc #($\$)
{
my( $dummy, $loc ) = @_;

$txt = $e[$loc]->get;

$loc = 0 if ++$loc >= $maxline;
$e[$loc]->delete( 0, 'end' );
$e[$loc]->insert( 'end', eval( $txt ));


$loc = 0 if ++$loc >= $maxline;
$e[$loc]->delete( 0, 'end' );
$loc = 0 if ++$loc >= $maxline;
$e[$loc]->delete( 0, 'end' );
$e[$loc]->focus();
}

sub line #($\$$)
{
my( $dummy, $loc, $df ) = @_;

$loc += $df;
$loc = $maxline-1 if $loc < 0;
$loc = 0 if $loc >= $maxline;

$e[$loc]->focus();
}

---