Как я получаю терминальную ширину в Perl?

Я нашел, что просто установка установки DoubleBuffered на форме автоматически устанавливает все свойства, перечисленные здесь.

9
задан brian d foy 23 November 2009 в 11:53
поделиться

3 ответа

FAQ, поставляемый с Perl, содержит ответ на этот вопрос. Если вы запустите perldoc -q "размер экрана" , вы получите следующее:

Как мне узнать размер экрана?

Если у вас есть Term :: ReadKey установленный из CPAN, вы можете использовать его для получения ширины и высоты в символах и пикселях:

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

Это более переносимо, чем необработанный «ioctl», но не так наглядно:

 требуется 'sys / ioctl.ph';
die "no TIOCGWINSZ", если не указано иное & TIOCGWINSZ;
open (TTY, "+ 

Таким образом, вы можете использовать последний вариант, если вам нужно решение на чистом Perl, или установить Term :: ReadKey из CPAN, если вам нужно более простое решение в коде, но более предварительную настройку.

27
ответ дан 4 December 2019 в 06:06
поделиться

Если вы хотите создать индикатор выполнения , не переживайте по поводу деталей. Используйте один из многих модулей индикатора выполнения на CPAN и покончите с этим.

6
ответ дан 4 December 2019 в 06:06
поделиться

Term :: Size :: Any похоже на то, что вам нужно.

5
ответ дан 4 December 2019 в 06:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: