【问题标题】:capture, get line from terminal with perl Term::Screen module or escape sequences捕获,使用 perl Term::Screen 模块或转义序列从终端获取行
【发布时间】:2013-09-06 03:53:17
【问题描述】:

我使用 Term::Screen 将字符串放入 xterm。

$scr->at(2,0)->puts("this is some stuff");

但我想捕捉,得到第二行(偏移量 0 直到 eol),类似这样:

$scr->at(2,0)->gets();

或者转义序列如何做到这一点?

感谢您的帮助!

【问题讨论】:

  • Term::Screen 上的文档说:“这不是诅咒的替代品——它没有记忆”。所以你可能想要Curses

标签: perl xterm ansi-escape


【解决方案1】:

不确定我是否理解正确。我从您的示例代码中获取:您想在第 2 行打印,然后将光标放在同一行的开头并获取用户输入,直到 EOL?无论如何,我建议使用Term::Screen::ReadLine,而不是 Term::Screen。如果我没听错的话,我想应该是这样的:

#!/usr/bin/perl

use strict;
use Term::Screen::ReadLine;

my $t = Term::Screen::ReadLine->new;

$t->clrscr;
#$t->at(2, 0)->puts("this is some stuff");
my $in = $t->readline(ROW => 2, COL => 0, OVERWRITE => 0, LINE => "this is some stuff");

$t->at(3, 0)->puts("You wrote '$in'");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2016-08-16
    • 2021-06-30
    相关资源
    最近更新 更多