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


当前回答

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

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

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

其他回答

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

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

希望这能有所帮助!

Perl -d是你的朋友:

% perl -de 0

有两种流行的Perl repl。

Devel: REPL很棒。 但在我看来,回复更好。

对于回复,只需运行它作为一个命令。模块安装应答脚本。如果您已经安装了模块,但没有该命令,请检查PATH变量。

$ reply --help
reply [-lb] [-I dir] [-M mod] [--version] [--help] [--cfg file]

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

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

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

我写了一个脚本,我称之为“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