作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
Python 的 raw_input()
保留所有 bash 功能,例如箭头键和反向搜索...
但是当我使用 Perl 的 <>
时阅读 stdin
, 不再支持任何功能...
最简单的方法是什么 raw_input
在 Perl 中?
最佳答案
根据 the Python docs ,
If the readline module was loaded, then raw_input() will use it to provide elaborate line editing and history features.
如原帖评论所述,您需要使用适当的模块,例如 Term::ReadLine或 Term::ReadLine::Gnu , 以访问这些功能。这与 Python 没有什么不同——如果你想要 readline 的特性,你必须加载一个 readline 模块,无论是隐式还是显式。
但是,是的,您需要使用您选择的 readline 模块的输入函数而不是 <>
对于您希望通过 readline 处理的任何输入。 (Term::ReadLine::Perl 包括一个 Term::ReadLine::Perl::Tied 模块,它可能会覆盖 <>
以在不需要额外代码更改的情况下运行 readline,但是 T::RL::P 自 2009 年以来就没有更新过,看起来没有记录,所以我不会推荐它,除非你有足够的时间弄清楚如何使用它。)
关于python - 如何在 Perl 中获得与 python 的 raw_input() 相同的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7006034/
我是一名优秀的程序员,十分优秀!