See also Pack/Unpack Tutorial (aka How the System Stores Data), s!* looks suspicious, what I'd usually do is try every option :)
update: Oh look, this is a perlfaq8 item
How do I get the screen size?If you have Term::ReadKey module installed from CPAN, you can use it to fetch the width and height in characters and in pixels:
This is more portable than the raw ioctl, but not as illustrative:use Term::ReadKey; ($wchar, $hchar, $wpixels, $hpixels) = GetTerminalSize();require 'sys/ioctl.ph'; die "no TIOCGWINSZ " unless defined &TIOCGWINSZ; open(TTY, "+</dev/tty") or die "No tty: $!"; unless (ioctl(TTY, &TIOCGWINSZ, $winsize='')) { die sprintf "$0: ioctl TIOCGWINSZ (%08x: $!)\n", &TIOCGWIN +SZ; } ($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize); print "(row,col) = ($row,$col)"; print " (xpixel,ypixel) = ($xpixel,$ypixel)" if $xpixel || $ypixe +l; print "\n";
In reply to Re: Failing to get current TTY's rows & columns...
by Anonymous Monk
in thread Failing to get current TTY's rows & columns...
by perl-diddler
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |