
![]() | ![]() |
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
![]() | ![]() | ![]() |
15.2. Testing Whether a Program Is Running Interactively | ![]() | 15.4. Determining Terminal or Window Size |

Copyright © 2003 O'Reilly & Associates. All rights reserved.