perldoc > Term::Cap

📖 NAME

Term::Cap - Perl termcap interface

🚀 Quick Reference

Use CaseCommandDescription
🚀 Get terminal capabilitiesTgetent Term::Cap { TERM => undef, OSPEED => $ospeed }Returns a blessed object for terminal control
🔤 Cursor addressing$terminal->Tgoto('cm', $col, $row, $FH)Move cursor to given column and row
📡 Output capability string$terminal->Tputs('dl', $count, $FH)Output string for capability without parameter substitution
⏱️ Pad output string$terminal->Tpad($string, $count, $FH)Output literal string with padding
✅ Require capabilities$terminal->Trequire(qw/ce ku kd/)Croak if required capabilities missing

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

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

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

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

It calls croak on failure.

🔧 Tpad

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

It takes three arguments:

The padded $string is returned.

🔧 Tputs

Output the string for the given capability padded as appropriate without any parameter substitution.

It takes three arguments:

The appropriate string for the capability will be returned.

🔧 Tgoto

Tgoto decodes a cursor addressing string with the given parameters.

There are four arguments:

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

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

Copyright 1995-2015 (c) perl5 porters.

This software is free software and can be modified and distributed under the same terms as Perl itself.

Please see the file README in the Perl source distribution for details of the Perl license.

👤 AUTHOR

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

The code is hosted on Github: https://github.com/jonathanstowe/Term-Cap please feel free to fork, submit patches etc, etc there.

🔗 SEE ALSO

termcap(5)

Term::Cap
📖 NAME 🚀 Quick Reference 📝 SYNOPSIS 📖 DESCRIPTION
🧰 METHODS 🔧 Tgetent 🔧 Tpad 🔧 Tputs 🔧 Tgoto 🔧 Trequire
💡 EXAMPLES 📜 COPYRIGHT AND LICENSE 👤 AUTHOR 🔗 SEE ALSO

Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-11 01:32 @216.73.216.11
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^