Provided by: libterm-size-perl_0.209-1build1_amd64 bug


       Term::Size - Retrieve terminal size (Unix version)


           use Term::Size;

           ($columns, $rows) = Term::Size::chars *STDOUT{IO};
           ($x, $y) = Term::Size::pixels;


       Term::Size is a Perl module which provides a straightforward way to retrieve the terminal

       Both functions take an optional filehandle argument, which defaults to *STDIN{IO}.  They
       both return a list of two values, which are the current width and height, respectively, of
       the terminal associated with the specified filehandle.

       "Term::Size::chars" returns the size in units of characters, whereas "Term::Size::pixels"
       uses units of pixels.

       In a scalar context, both functions return the first element of the list, that is, the
       terminal width.

       The functions may be imported.

       If you need to pass a filehandle to either of the Term::Size functions, beware that the
       *STDOUT{IO} syntax is only supported in Perl 5.004 and later.  If you have an earlier
       version of Perl, or are interested in backwards compatibility, use *STDOUT instead.


       1. Refuse to run in a too narrow window.

           use Term::Size;

           die "Need 80 column screen" if Term::Size::chars *STDOUT{IO} < 80;

       2. Track window size changes.

           use Term::Size 'chars';

           my $changed = 1;

           while (1) {
                   local $SIG{'WINCH'} = sub { $changed = 1 };

                   if ($changed) {
                           ($cols, $rows) = chars;
                           # Redraw, or whatever.
                           $changed = 0;


       If there is an error, both functions return "undef" in scalar context, or an empty list in
       list context.

       If the terminal size information is not available, the functions will normally return "(0,
       0)", but this depends on your system.  On character only terminals, "pixels" will normally
       return "(0, 0)".


       Term::Size only works on Unix systems, as it relies on the "ioctl" function to retrieve
       the terminal size. If you need terminal size in Windows, see Term::Size::Win32.

       Before version 0.208, "chars" and "pixels" used to return false on error.


       Term::Size::Any, Term::Size::Perl, Term::Size::ReadKey, Term::Size::Win32.


       Tim Goodwin, <>, 1997-04-23.


       Adriano Ferreira, <>, 2006-05-19.