Perl是否有交互式命令行环境?

时间:2018-06-11 15:32:04

标签: perl read-eval-print-loop

您好我想知道Perl是否有类似于Rstudio的东西?这是运行命令的能力,将所有变量保留在内存中而不退出脚本。

例如,假设我执行此命令my $temp = 83;然后不是结束脚本而是更改值$temp = 22; print "$temp \n";,依此类推,但我不会结束脚本并继续处理它。在处理大型数据集和一般工作流程时,这将非常有用。 我遇到的最接近的是使用插件的Visual Studio Code,我可以在我的脚本中执行特定的代码块。但是我没有找到一种方法来将变量持久保存在内存中 谢谢!

1 个答案:

答案 0 :(得分:8)

你想要一个REPL

看看Devel::REPL。它带来了一个可以运行的名为re.pl的脚本。

$ re.pl
$ my $foo = 123;
123$ use feature 'say';
$  $foo + 1;
124$ 

较新的替代方案是Reply及其reply脚本。

$ reply 
0> my $foo = 123;
$res[0] = 123

1> $foo + 2
$res[1] = 125

2> 

为了进行比较,你可以通过Matt Trout read this blog post