如何启动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中。