如何在Perl中获得与python的raw_input()相同的效果?

lex*_*xer 4 python perl

Python raw_input()保留所有bash功能,如箭头键和反向搜索......

但是,当我使用Perl <>来读取时,不再stdin支持任何功能......

raw_input在Perl中最简单的方法是什么?

Dav*_*man 5

根据Python文档,

如果加载了readline模块,则raw_input()将使用它来提供精细的行编辑和历史记录功能.

正如对原始帖子的评论中所述,您需要使用适当的模块(例如Term :: ReadLineTerm :: ReadLine :: Gnu)来访问这些功能.这与Python没什么不同 - 如果你想要readline的功能,你必须加载一个readline模块,无论是隐式还是显式.

但是,是的,您将需要使用您选择的readline模块的输入函数,而不是<>您希望通过readline处理的任何输入.(Term :: ReadLine :: Perl包含一个Term :: ReadLine :: Perl :: Tied模块,它可以覆盖<>运行readline而不需要额外的代码更改,但是T :: RL :: P自2009年以来一直没有更新过似乎没有文档,所以我不推荐它,除非你有足够的时间来弄清楚如何使用它.)