我试图用readline替换STDIN。如果我使用STDIN(就像在注释中看到代码一样),那么在相同行中的printf输出之后,光标就准备好输入了。但是使用readline printf输出不知何故,只有readline提示可见。我可以插入“打印”\ n“;” (注释掉)到printf的下一行,它将提示移动到下一行,并且printf输出可见。但是,我想要在提示符后直接输入一个格式化提示和光标(相同行)。 printf赋值比以下示例稍微复杂一些。 printf可行吗?我有什么选择? Thanx提前。如何在Perl中结合printf和readline
#!/usr/bin/perl -w
use Term::ReadLine;
use Term::ReadKey;
my $term = Term::ReadLine->new('name');
printf "%-12s","Input: ";
# my $new_value = <STDIN>;
# print "\n";
my $new_value = $term->readline('--> ');
作为choroba提到的,你可能会从缓冲是痛苦:见http://perl.plover.com/FAQs/Buffering.html的DET ails – jblue 2013-03-13 00:53:31