我刚刚注意到,从perl的gcc4编译版本升级到gcc6编译版本后,Term::ReadLine的功能发生了变化(变得更糟)。使用gcc4,退格键被正确解释,允许用户编辑他/她正在输入的行。gcc6版本显然没有,返回一个^?每次输入退格键时。
下面是我用来测试这个的一些简单代码。
#!/tool/pandora64/.package/perl-5.24.0-gcc620/bin/perl5.24.0
#/tool/pandora64/.package/perl-5.24.0/bin/perl5.24.0
use strict;
use Term::ReadLine;
my $answer;
my $term = Term::ReadLine->new('EDIT_STDIN');
$term->ornaments(0);
$answer = $term->readline("Enter something here....");
print "answer: $answer\n";
exit;实际上,此脚本无法正确解释如上所述的退格键。交换第1行和第2行,它可以很好地工作。
太好了……你知道为什么会发生这种情况吗?考虑到我不能回到gcc4,有什么建议可以让它工作吗?
发布于 2019-07-31 03:19:44
在本例中,问题在于Perl 5.24.0-gcc620中缺少术语::ReadLine::Gnu。安装后,它运行得很好。
https://stackoverflow.com/questions/57262053
复制相似问题