Term::Cap(3)

Term::Cap(3)

tempnam Home Page Subroutines Index Term::Complete


NNAAMMEE
       Term::Cap - Perl termcap interface

SSYYNNOOPPSSIISS
           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);

DDEESSCCRRIIPPTTIIOONN
       These are low-level functions to extract and use
       capabilities from a terminal capability (termcap)
       database.

       The TTggeetteenntt 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, TTggeetteenntt 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 iinnsstteeaadd.  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).

       TTggeetteenntt returns a blessed object reference which the user
       can then use to send the control strings to the terminal
       using TTppuuttss and TTggoottoo.  It calls croak on failure.

       TTggoottoo decodes a cursor addressing string with the given
       parameters.

       The output strings for TTppuuttss are cached for counts of 1
       for performance.  TTggoottoo and TTppaadd do not cache.
       $self->{_xx} is the raw termcap data and $self->{xx} is

       the cached version.

           print $terminal->Tpad($self->{_xx}, 1);

       TTggoottoo, TTppuuttss, and TTppaadd 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}.

EEXXAAMMPPLLEESS
           # 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);

tempnam Home Page Subroutines Index Term::Complete