GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
String::TtyLength(3) User Contributed Perl Documentation String::TtyLength(3)

String::TtyLength - length or width of string excluding ANSI tty codes

 use String::TtyLength 0.02 qw/ tty_length tty_width /;
 $length = tty_length("\e[1mbold text\e[0m");
 print "length = $length\n";
 # 9

 $width = tty_width("😄");
 print "width = $width\n";
 # 2

This module provides two functions which tell you the length and width of a string as it will appear on a terminal (tty), excluding any ANSI escape codes.

"tty_length" returns the length of a string excluding any ANSI tty / terminal escape codes.

"tty_width" returns the number of columns on a terminal that the string will take up, also excluding any escape codes.

For non-wide characters, the functions will return the same value. But consider the following:

 my $emoji  = "😄";
 my $length = tty_length($emoji);   # 1
 my $width  = tty_width($emoji);    # 2

If you're trying to align text in columns, then you'll probably want "tty_width"; if you just want to know the number of characters, using "tty_length".

Takes a single string, and returns the length of the string, excluding any escape sequences.

Note: the escape sequences could include cursor movement, so the length returned by this function might not be the number of characters that would be visible on screen. But "length_of_string_excluding_escape_sequences()" was just too long.

Takes a single string and returns the number of columns that the string will take up on a terminal.

You may find that sometimes "tty_width()" returns the wrong number. If you do, please submit a bug, or email me at the address below.

This was added in version 0.02 of "String::TtyLength", so you should require at least that version of this module, as per the SYNOPSIS.

"colorstrip()" in Term::ANSIColor will remove ANSI color escape sequences from a string, but not all ANSI escape sequences.

<https://github.com/neilb/String-TtyLength>

Neil Bowers <neilb@cpan.org>

This software is copyright (c) 2020 by Neil Bowers.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2021-04-29 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.