如何启动Perl的交互式控制台,类似于Ruby的irb命令或python的python命令?


当前回答

我使用命令行作为控制台:

$ perl -e 'print "JAPH\n"'

然后,我可以使用bash历史记录获取旧命令。然而,这并不能保存状态。

当您想测试“一件小事”(比如回答Perl问题)时,这个表单最有用。我经常发现这些命令被逐字逐句地复制到shell脚本或makefile中。

其他回答

我总是这样做:

rlwrap perl -wlne'eval;print$@if$@'

使用5.10,我已经切换到:

rlwrap perl -wnE'say eval()//$@'

(rlwrap是可选的)

你可以在一个简单的程序上使用perl调试器,如下所示:

perl -de1

还有Alexis Sukrieh的Perl控制台应用程序,但我没有使用过它。

您可以直接进入内置调试器并从那里运行命令。

   perl -d -e 1

Matt Trout不仅写了一篇关于REPL的文章,他实际上也写了一篇——Devel::REPL

我曾经使用过它,它工作得相当好,并且正在积极开发中。

顺便说一句,我不知道为什么有人贬低了那个提到从控制台使用“perl -e”的人。这不是一个真正的REPL,但它非常有用,我一直在使用它。

Perl没有控制台,但是调试器可以作为控制台使用。在命令提示符下,键入perl -de 1。(值“1”无关紧要,它只是一个没有任何作用的有效语句。)

Perl shell也有几个选项: 存档的“perlfaq3”页面,其中包含问题“有Perl Shell吗?”

有关更多信息,请阅读perlfaq3(当前版本)。