MirBSD manpage: Term::Cap(3p)


Term::Cap(3p)   Perl Programmers Reference Guide    Term::Cap(3p)

NAME

     Term::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 capabili-
     ties from a terminal capability (termcap) database.

     More information on the terminal capabilities will be found
     in the termcap manpage on most Unix-like systems.

     METHODS

         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 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.

     Tgetent
         Returns a blessed object reference which the user can
         then use to send the control strings to the terminal
         using Tputs and Tgoto.

         The function extracts the entry of the specified termi-
         nal 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 read-
         ing 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

perl v5.8.8                2005-02-05                           1

Term::Cap(3p)   Perl Programmers Reference Guide    Term::Cap(3p)

         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.

         The extracted termcap entry is available in the object
         as "$self->{TERMCAP}".

         It takes a hash reference as an argument with two
         optional keys:

         OSPEED
           The terminal output bit rate (often mistakenly called
           the baud rate) for this terminal - if not set a warn-
           ing will be generated and it will be defaulted to
           9600.  OSPEED can be be specified as either a POSIX
           termios/SYSV termio speeds (where 9600 equals 9600) or
           an old DSD-style speed ( where 13 equals 9600).

         TERM
           The terminal type whose termcap entry will be used -
           if not supplied it will default to $ENV{TERM}: if that
           is not set then Tgetent will croak.

         It calls "croak" on failure.

     Tpad
         Outputs a literal string with appropriate padding for
         the current terminal.

         It takes three arguments:

         $string
           The literal string to be output.  If it starts with a
           number and an optional '*' then the padding will be
           increased by an amount relative to this number, if the
           '*' is present then this amount will me multiplied by
           $cnt.  This part of $string is removed before output/

         $cnt
           Will be used to modify the padding applied to string
           as described above.

         $FH
           An optional filehandle (or IO::Handle ) that output
           will be printed to.

         The padded $string is returned.

     Tputs
         Output the string for the given capability padded as

perl v5.8.8                2005-02-05                           2

Term::Cap(3p)   Perl Programmers Reference Guide    Term::Cap(3p)

         appropriate without any parameter substitution.

         It takes three arguments:

         $cap
           The capability whose string is to be output.

         $cnt
           A count passed to Tpad to modify the padding applied
           to the output string. If $cnt is zero or one then the
           resulting string will be cached.

         $FH
           An optional filehandle (or IO::Handle ) that output
           will be printed to.

         The appropriate string for the capability will be
         returned.

     Tgoto
         Tgoto decodes a cursor addressing string with the given
         parameters.

         There are four arguments:

         $cap
           The name of the capability to be output.

         $col
           The first value to be substituted in the output string
           ( usually the column in a cursor addressing capability
           )

         $row
           The second value to be substituted in the output
           string (usually the row in cursor addressing capabili-
           ties)

         $FH
           An optional filehandle (or IO::Handle ) to which the
           output string will be printed.

         Substitutions are made with $col and $row in the output
         string with the following sprintf() line formats:

          %%   output `%'
          %d   output value as in printf %d
          %2   output value as in printf %2d
          %3   output value as in printf %3d
          %.   output value as in printf %c
          %+x  add x to value, then do %.

perl v5.8.8                2005-02-05                           3

Term::Cap(3p)   Perl Programmers Reference Guide    Term::Cap(3p)

          %>xy if value > x then add y, no output
          %r   reverse order of two parameters, no output
          %i   increment by one, no output
          %B   BCD (16*(value/10)) + (value%10), no output

          %n   exclusive-or all parameters with 0140 (Datamedia 2500)
          %D   Reverse coding (value - 2*(value%16)), no output (Delta Data)

         The output string will be returned.

     Trequire
         Takes a list of capabilities as an argument and will
         croak if one is not found.

EXAMPLES

         use Term::Cap;

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

COPYRIGHT AND LICENSE

     Please see the README file in distribution.

AUTHOR

     This module is part of the core Perl distribution and is
     also maintained for CPAN by Jonathan Stowe
     <jns@gellyfish.com>.

SEE ALSO

     termcap(5)

perl v5.8.8                2005-02-05                           4

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung