如何启动Perl的交互式控制台?

时间:2020-03-05 18:56:20  来源:igfitidea点击:

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

解决方案

回答

perl -d是朋友:

% perl -de 0

回答

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

perl -d -e 1

回答

没有像Python那样内置的Perl交互式控制台。但是,我们可以使用Perl调试器进行调试相关的事情。我们可以使用-d选项将其打开,但是我们可能需要查看'man perldebug'来了解它。

经过一番谷歌搜索后,有一个单独的项目实现了Perl控制台,我们可以在http://www.sukria.net/perlconsole.html上找到它。

希望这可以帮助!

回答

我们可以在普通程序上使用perl调试器,如下所示:

perl -de1

另外,还有Alexis Sukrieh的Perl Console应用程序,但我没有使用过。

回答

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

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

然后,我可以使用bash历史记录来恢复旧命令。但是,这不会保留状态。

当我们要测试"一件小事"时(例如回答Perl问题时),此表格最有用。通常,我发现这些命令被逐字记录到shell脚本或者makefile中。

回答

我们可以在此处查看psh:http://gnp.github.io/psh/

它是完整的shell(例如,我们可以用它代替bash),但是使用perl语法..因此我们可以动态创建方法等。

回答

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

Perl外壳程序还有两个选项。

有关更多信息,请阅读perlfaq3.

回答

还要在CPAN上查找ptkdb:
http://search.cpan.org/search?query=ptkdb&mode=all

回答

我认为我们是在询问PERL的REPL(读取,评估,打印,循环)接口。有几种方法可以做到这一点:

  • 马特·特劳特(Matt Trout)的一篇文章介绍了如何编写一个
  • 阿德里亚诺·费雷拉(Adriano Ferreira)描述了一些选择
  • 最后,我们可以在irc.perl.org上跳至IRC,并尝试许多流行频道中的评估机器人之一。他们将评估我们传递给他们的perl块。

回答

马特·特劳特(Matt Trout)不仅写了一篇关于REPL的文章,还写了一个Devel :: REPL

我已经使用了一段时间,并且效果很好,并且正在积极开发中。

顺便说一句,我不知道为什么有人用控制台中的" perl -e"来修饰提到的那个人。这确实不是REPL,但确实非常有用,而且我一直都在使用它。

回答

我写了一个脚本,称为" psh":

#! /usr/bin/perl

while (<>) {
  chomp;
  my $result = eval;
  print "$_ = $result\n";
}

无论我们输入什么,它都会在Perl中求值:

> gmtime(2**30)
gmtime(2**30) = Sat Jan 10 13:37:04 2004

> $x = 'foo'
$x = 'foo' = foo

> $x =~ s/o/a/g
$x =~ s/o/a/g = 2

> $x
$x = faa

回答

来自Devel:.REPL的re.pl

回答

棕褐色和PDE也有自己的REPL(对于GNU Emacs)。

回答

另请参见时尚的REPL(适用于GNU Emacs)http://blog.jrock.us/articles/Stylish%20REPL.pod

回答

我总是这样做:

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

在5.10中,我已切换至:

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