【发布时间】:2013-05-03 23:41:47
【问题描述】:
如何在 perl 中使用 ANSI 转义码来查询光标位置?
我在努力
use strict;
my $variable;
open GRABSTDOUT, '>', \$variable or die "Can't open STDOUT: $!";
select GRABSTDOUT;
print "\e[6n";
select STDOUT;
print "Cursor location is >$variable<\n";
print "Bye\n";
但是查询结果没有被我的变量捕获
mymachine:~/play> perl ansi.pl
Cursor location is ><
Bye
^[[36;21Rmymachine:~/play> ;21R
【问题讨论】:
-
是什么让您认为这可行?
GRABSTDOUT是什么? -
GRABSTDOUT 是我将其输出重定向到我的变量的文件句柄;然后我选择 GRABSTDOUT 将 STDOUT 替换为默认输出,希望当我打印 ANSI 代码时,它会被重定向到我的变量。代码可能很粗糙,但它的目的是表明我的意图。
标签: perl