Recipe 15.3 Clearing the Screen
15.3.1 Problem
You want to clear the screen.
15.3.2 Solution
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 any exceptions that
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");
15.3.3 Discussion
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;
15.3.4 See Also
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 32 of Programming Perl; the
documentation for the Term::Lib module from CPAN
|