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


当前回答

Perl不像Python那样内置交互式控制台。但是,您可以使用Perl调试器来做调试相关的事情。您可以使用-d选项打开它,但您可能想要查看'man perldebug'以了解它。

在谷歌搜索一下之后,有一个单独的项目实现了Perl控制台,您可以在 Perl控制台- Perl代码与完成的交互式计算器。

希望这能有所帮助!

其他回答

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

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

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

你可以在emacs中使用org-babel;打开一个组织模式文件,即tmp.org,然后你可以这样做:

#+begin_src perl :results output
@a = (1,5,9);
print ((join ", ", @a) . "\n");
$b = scalar @a;
print "$#a, $b\n";
print "$#a, " . @a . "\n";
print join ", ", 1..$#a; print "\n";
print join ", ", @a[0..$#a]
#+end_src

按CTRL-c CTRL-c将计算该块:

#+RESULTS:
#+begin_example
1, 5, 9
2, 3
2, 3
1, 2
1, 5, 9
#+end_example

我不确定这需要什么emacs配置,但我认为您可以安装https://github.com/hlissner/doom-emacs并启用它的perl和org-mode模块。

re.pl来自Devel::REPL

Perl不像Python那样内置交互式控制台。但是,您可以使用Perl调试器来做调试相关的事情。您可以使用-d选项打开它,但您可能想要查看'man perldebug'以了解它。

在谷歌搜索一下之后,有一个单独的项目实现了Perl控制台,您可以在 Perl控制台- Perl代码与完成的交互式计算器。

希望这能有所帮助!

如果需要历史记录,请使用rlwrap。这可以是你的~/bin/ips,例如:

#!/bin/sh
echo 'This is Interactive Perl shell'
rlwrap -A -pgreen -S"perl> " perl -wnE'say eval()//$@'

这是它的样子:

$ ips
This is Interactive Perl shell
perl> 2**128
3.40282366920938e+38
perl>