#!/usr/bin/perl # Copyright (c) 2003 # John Jetmore . All rights reserved. # This code freely redistributable provided my name and this copyright notice # are not removed use strict; use POSIX; use Term::Cap; $| = 1; my $termios = POSIX::Termios->new(); $termios->getattr; my $tcap = Term::Cap->Tgetent ({TERM=>undef,OSPEED=>$termios->getospeed()}); $tcap->Trequire(qw(cl cm cd)); my $mr = get_dim($tcap); $tcap->Tputs('cl', 1, *STDOUT); # clear screen $tcap->Tgoto('cm', 0, $mr, *STDOUT); # place cursor at (0,$maxrow) $tcap->Tputs('cd', 1, *STDOUT); # clear to end exit; sub get_dim { my $t = shift; # termcap ent - fallback method my $r = 24; if (try_load("Term::ReadKey")) { $r = (Term::ReadKey::GetTerminalSize())[1]; } else { $r = $tcap->{_li}; } return($r - 1); } sub try_load { my $mod = shift; eval("use $mod"); if ($@) { return(0); } else { return(1); } }