如何启动Perl的交互式控制台,类似于Ruby的irb命令或python的python命令?
当前回答
我写了一个脚本,我称之为“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
其他回答
如果需要历史记录,请使用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>
我使用命令行作为控制台:
$ perl -e 'print "JAPH\n"'
然后,我可以使用bash历史记录获取旧命令。然而,这并不能保存状态。
当您想测试“一件小事”(比如回答Perl问题)时,这个表单最有用。我经常发现这些命令被逐字逐句地复制到shell脚本或makefile中。
Sepia和PDE也有自己的reps(用于GNU Emacs)。
有两种流行的Perl repl。
Devel: REPL很棒。 但在我看来,回复更好。
对于回复,只需运行它作为一个命令。模块安装应答脚本。如果您已经安装了模块,但没有该命令,请检查PATH变量。
$ reply --help
reply [-lb] [-I dir] [-M mod] [--version] [--help] [--cfg file]
我想你是在问perl的REPL(读取,计算,打印,循环)接口。有几种方法可以做到这一点:
马特·特劳特(Matt Trout)有一篇文章描述了如何写一个 阿德里亚诺·费雷拉描述了一些选择 最后,你可以在irc.perl.org上登陆IRC,并在许多流行的频道中尝试其中一个评估机器人。他们会计算你传递给他们的perl代码块。
推荐文章
- Chrome: console.log, console.debug不工作
- 访问控制台和扩展的后台开发工具
- 将Chrome中的console.log保存为文件
- 清除javascript控制台在谷歌Chrome
- 安装缺少的Perl模块最简单的方法是什么?
- 我如何才能快速和所有的数字在一个文件?
- 显示/隐藏c#控制台应用程序的控制台窗口
- 我如何使用布尔变量在Perl?
- 打印对象的所有属性
- 在PowerShell中重新加载路径
- IE8的console.log怎么了?
- 如何将文件加载到python控制台?
- Perl的反撇号、system和exec之间有什么区别?
- Go提供REPL吗?
- 如何包括JavaScript文件或库在Chrome控制台?