Term::Size::Perl(3) Perl extension for retrieving terminal size (Perl version)

SYNOPSIS


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

DESCRIPTION

Yet another implementation of "Term::Size". Now in pure Perl, with the exception of a C probe run on build time.

FUNCTIONS

chars
    ($columns, $rows) = chars($h);
    $columns = chars($h);

"chars" returns the terminal size in units of characters corresponding to the given filehandle $h. If the argument is omitted, *STDIN{IO} is used. In scalar context, it returns the terminal width.

pixels
    ($x, $y) = pixels($h);
    $x = pixels($h);

"pixels" returns the terminal size in units of pixels corresponding to the given filehandle $h. If the argument is omitted, *STDIN{IO} is used. In scalar context, it returns the terminal width.

Many systems with character-only terminals will return "(0, 0)".

BUGS

I am having some hard time to make tests run correctly under the "cpan" script. Some Unix systems do not seem to provide a working tty inside automatic installers. I think it needs some skip tests, but I am yet not sure what should be the portable tests for this.

Update: This distribution uses new tests to skip if filehandle is not a tty. It was noticed that "Test::Harness" and "prove", for instance, provide a non-tty STDOUT to the test script and automatic installers could provide a non-tty STDIN. So the former tests were basically wrong. I am improving my understanding of the involved issues and I hope to soon fix the tests for all of Term::Size modules.

AUTHOR

A. R. Ferreira, <[email protected]>

COPYRIGHT AND LICENSE

Copyright (C) 2006-2007 by A. R. Ferreira

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