You want to clear the screen.
Use the Term::Cap module to send the appropriate character sequence. Use POSIX Termios to get the output speed of the terminal (or guess 9600 bps). Use eval
to trap errors that may arise using POSIX Termios::
use Term::Cap; $OSPEED = 9600; eval { require POSIX; my $termios = POSIX::Termios->new(); $termios->getattr; $OSPEED = $termios->getospeed; }; $terminal = Term::Cap->Tgetent({OSPEED=>$OSPEED}); $terminal->Tputs('cl', 1, STDOUT);
Or, just run the clear command:
system("clear");
If you clear the screen a lot, cache the return value from the termcap or clear command:
$clear = $terminal->Tputs('cl'); $clear = `clear`;
Then you can clear the screen a hundred times without running clear a hundred times:
print $clear;
Your system's clear (1) and termcap (5) manpages (if you have them); the documentation for the standard module Term::Cap module, also in Chapter 7 of Programming Perl; the documentation for the Term::Lib module from CPAN