Python raw_input()
保留所有bash功能,如箭头键和反向搜索......
但是,当我使用Perl的<>
来阅读stdin
时,不再支持任何功能......
在Perl中以raw_input
执行此操作最简单的方法是什么?
答案 0 :(得分:5)
如果加载了readline模块,则raw_input()将使用它来提供精细的行编辑和历史记录功能。
如原始帖子的评论中所述,您需要使用适当的模块(例如Term::ReadLine或Term::ReadLine::Gnu)来访问这些功能。这与Python没什么不同 - 如果你想要readline的功能,你必须加载readline模块,无论是隐式还是显式。
但是,是的,您需要使用您选择的readline模块的输入函数而不是<>
来表示您希望通过readline处理的任何输入。 (Term::ReadLine::Perl包含一个Term :: ReadLine :: Perl :: Tied模块,可以覆盖<>
以运行readline,而不需要额外的代码更改,但T :: RL :: P尚未更新自2009年以来,似乎没有证件,所以除非你有足够的时间弄清楚如何使用它,否则我不会推荐它。)