如何启动Perl的交互式控制台,类似于Ruby的irb命令或python的python命令?
当前回答
我总是这样做:
rlwrap perl -wlne'eval;print$@if$@'
使用5.10,我已经切换到:
rlwrap perl -wnE'say eval()//$@'
(rlwrap是可选的)
其他回答
你可以在这里查看psh: http://gnp.github.io/psh/
这是一个完整的shell(你可以用它来代替bash),但使用perl语法。你可以动态地创建方法。
Matt Trout的概述列出了五个选择,从perl -de 0开始,如果通过插件扩展是重要的,他推荐Reply,或者Eval::WithLexicals的tinyrepl,这是一个最小的、纯perl的解决方案,包括readline支持和词汇持久性。
Perl -d是你的朋友:
% perl -de 0
在 Debian/Ubuntu 下:
$ sudo apt-get install libdevel-repl-perl
$ re.pl
$ sudo apt-get install libapp-repl-perl
$ iperl
我使用命令行作为控制台:
$ perl -e 'print "JAPH\n"'
然后,我可以使用bash历史记录获取旧命令。然而,这并不能保存状态。
当您想测试“一件小事”(比如回答Perl问题)时,这个表单最有用。我经常发现这些命令被逐字逐句地复制到shell脚本或makefile中。
推荐文章
- console.log()和console.debug()的区别?
- 如何禁用标准错误流的日志记录?
- 在Perl中,“my”和“our”的区别是什么?
- 为什么“System.out。”println“工作在Android?
- 如何在保持原始字符串的同时对字符串执行Perl替换?
- 如何在Visual c++中保持控制台窗口打开?
- Perl的@INC是如何构造的?(又名:影响Perl模块搜索位置的所有方法是什么?)
- 如何停止c++控制台应用程序从退出立即?
- 从输出中删除颜色
- Chrome: console.log, console.debug不工作
- 访问控制台和扩展的后台开发工具
- 将Chrome中的console.log保存为文件
- 清除javascript控制台在谷歌Chrome
- 安装缺少的Perl模块最简单的方法是什么?
- 我如何才能快速和所有的数字在一个文件?