Perl Cd Bookshelf [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Perl Cd Bookshelf [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید



15.4. Determining Terminal or Window Size


15.4.1. Problem




You need to know the size of the
terminal or window. For instance, you want to format text so that it
doesn't pass the righthand boundary of the screen.

15.4.2. Solution


Either use the ioctl described in Recipe 12.17, or else use the CPAN module
Term::ReadKey:

use Term::ReadKey;
($wchar, $hchar, $wpixels, $hpixels) = GetTerminalSize( );

15.4.3. Discussion


GetTerminalSize
returns four elements: the width and height in characters and the
width and height in pixels. If the operation is unsupported for the
output device (for instance, if output has been redirected to a
file), it returns an empty list.

Here's how you'd graph the contents of @values,
assuming no value is less than 0:

use Term::ReadKey;
($width) = GetTerminalSize( );
die "You must have at least 10 characters" unless $width >= 10;
$max = 0;
foreach (@values) {
$max = $_ if $max < $_;
}
$ratio = ($width-10)/$max; # chars per unit
foreach (@values) {
printf("%8.1f %s\n", $_, "*" x ($ratio*$_));
}

15.4.4. See Also


The documentation for the Term::ReadKey module from CPAN; Recipe 12.17



15.3. Clearing the Screen15.5. Changing Text Color




Copyright © 2003 O'Reilly & Associates. All rights reserved.

/ 875