while (<$fh>) { $st->insert("end", $_); } #### use strict; use warnings; use Tk; my $fh; open ($fh, "new(); my $st = $mw->Scrolled("Text",-scrollbars => "eo")->pack(); my $id = $st->repeat(3000,\&list); MainLoop; close ($fh); sub list { if (eof($fh)) { $st->aftercancel($id); return; } my $line = <$fh>; $st->insert('end', $line); $st->see('end'); }