Term::Cap(3) Perl Programmers Reference Guide Term::Cap(3)NAMETerm::Cap - Perl termcap interface
SYNOPSIS
require Term::Cap;
$terminal = Tgetent Term::Cap { TERM => undef, OSPEED => $ospeed };
$terminal->Trequire(qw/ce ku kd/);
$terminal->Tgoto('cm', $col, $row, $FH);
$terminal->Tputs('dl', $count, $FH);
$terminal->Tpad($string, $count, $FH);
DESCRIPTION
These are low-level functions to extract and use
capabilities from a terminal capability (termcap)
database.
The Tgetent function extracts the entry of the specified
terminal type TERM (defaults to the environment variable
TERM) from the database.
It will look in the environment for a TERMCAP variable.
If found, and the value does not begin with a slash, and
the terminal type name is the same as the environment
string TERM, the TERMCAP string is used instead of reading
a termcap file. If it does begin with a slash, the string
is used as a path name of the termcap file to search. If
TERMCAP does not begin with a slash and name is different
from TERM, Tgetent searches the files $HOME/.termcap,
/etc/termcap, and /usr/share/misc/termcap, in that order,
unless the environment variable TERMPATH exists, in which
case it specifies a list of file pathnames (separated by
spaces or colons) to be searched instead. Whenever
multiple files are searched and a tc field occurs in the
requested entry, the entry it names must be found in the
same file or one of the succeeding files. If there is a
:tc=...: in the TERMCAP environment variable string it
will continue the search in the files as above.
OSPEED is the terminal output bit rate (often mistakenly
called the baud rate). OSPEED can be specified as either
a POSIX termios/SYSV termio speeds (where 9600 equals
9600) or an old BSD-style speeds (where 13 equals 9600).
Tgetent returns a blessed object reference which the user
can then use to send the control strings to the terminal
using Tputs and Tgoto. It calls croak on failure.
Tgoto decodes a cursor addressing string with the given
parameters.
The output strings for Tputs are cached for counts of 1
for performance. Tgoto and Tpad do not cache.
$self->{_xx} is the raw termcap data and $self->{xx} is
16/Sep/1999 perl 5.005, patch 03 1
Term::Cap(3) Perl Programmers Reference Guide Term::Cap(3)
the cached version.
print $terminal->Tpad($self->{_xx}, 1);
Tgoto, Tputs, and Tpad return the string and will also
output the string to $FH if specified.
The extracted termcap entry is available in the object as
$self->{TERMCAP}.
EXAMPLES
# Get terminal output speed
require POSIX;
my $termios = new POSIX::Termios;
$termios->getattr;
my $ospeed = $termios->getospeed;
# Old-style ioctl code to get ospeed:
# require 'ioctl.pl';
# ioctl(TTY,$TIOCGETP,$sgtty);
# ($ispeed,$ospeed) = unpack('cc',$sgtty);
# allocate and initialize a terminal structure
$terminal = Tgetent Term::Cap { TERM => undef, OSPEED => $ospeed };
# require certain capabilities to be available
$terminal->Trequire(qw/ce ku kd/);
# Output Routines, if $FH is undefined these just return the string
# Tgoto does the % expansion stuff with the given args
$terminal->Tgoto('cm', $col, $row, $FH);
# Tputs doesn't do any % expansion.
$terminal->Tputs('dl', $count = 1, $FH);
16/Sep/1999 perl 5.005, patch 03 2