Perl 有没有类似 IPython / IRB 的东西?

Posted

技术标签:

【中文标题】Perl 有没有类似 IPython / IRB 的东西?【英文标题】:Is there anything like IPython / IRB for Perl? 【发布时间】:2010-10-08 01:11:03 【问题描述】:

我已经习惯了在学习 Python 的同时使用 IPython 进行尝试,现在我必须学习 Perl 才能找到一份新工作。

有没有像 IPython for Perl 这样的东西?特别是,我对完成和获得帮助感兴趣。

【问题讨论】:

【参考方案1】:

我通常只使用perl -de0,但我听说过:

Devel::REPL perlconsole

【讨论】:

我推荐Devel::REPL,真的好用 ++ Devel::REPL,有一个简洁的插件系统,功能很多。 最近添加的一个稍微小一点的是 tinyrepl (Eval::WithLexicals),它使用了一种疯狂的非 XS 方式来持久化词法。【参考方案2】:

您可以通过使用“独立”调试器来获得功能较少的环境。

perl -de 42

(42 只是一个常量,以便加载非空“脚本”)。

从那里,您可以use My::Module 等等。我不确定是否有完整的类似 irb 的程序。

【讨论】:

我在徘徊这 42 是什么,以及它是否是特定的,正如它在 perldoc.perl.org/perldebug.html 中所显示的那样......所以谢谢你的说明;还Programming Perl: The Perl Debugger 指出它可以任意选择...所以42 很可能被选择,因为它是生命、宇宙和一切:) 的答案。但我越来越习惯perl -d -e shell;工作方式相同..干杯!【参考方案3】:

[更新为最近的变化]

IPython 不再只是 Python; Jupyter 可用于任何具有kernel 实现的语言。 Zakariyya Mughal 去年发布了 Perl kernel,所以我建议尝试/为此做出贡献。

【讨论】:

@JB 谢谢。检查这一点带来了愉快的更新!【参考方案4】:

From Perl FAQ:

Perl 常见问题解答 3.7

有 perl shell 吗?

不是真的。 Perl 是一种编程语言,而不是命令解释器。

这就是我从 Perl 转向 Python 的原因。 无论如何,确实存在几个 python shell workarounds,但它们甚至不接近 IPython

【讨论】:

IRB 不是一个 shell,它是一个 REPL 有 Zoidberg 但是正如 Noah 所说,OP 不是要求一个 shell,而是一个 REPL 这个答案不是问题所要求的。这甚至不是一个错误的答案。

以上是关于Perl 有没有类似 IPython / IRB 的东西?的主要内容,如果未能解决你的问题,请参考以下文章

有没有类似于 Perl 的 Archive::Extract 的 Python 包?

Java 的交互式 shell,如 ipython

emacs上的IPython会阻止键绑定

OSX 上 JRuby irb 中的键绑定移动字

如何在emacs中打开IPython解释器?

没有Rails的IRB控制台中的Figaro?