如何启动Perl的交互式控制台,类似于Ruby的irb命令或python的python命令?
当前回答
Matt Trout的概述列出了五个选择,从perl -de 0开始,如果通过插件扩展是重要的,他推荐Reply,或者Eval::WithLexicals的tinyrepl,这是一个最小的、纯perl的解决方案,包括readline支持和词汇持久性。
其他回答
Read-eval-print循环:
$ perl -e'while(<>){print eval,"\n"}'
Matt Trout不仅写了一篇关于REPL的文章,他实际上也写了一篇——Devel::REPL
我曾经使用过它,它工作得相当好,并且正在积极开发中。
顺便说一句,我不知道为什么有人贬低了那个提到从控制台使用“perl -e”的人。这不是一个真正的REPL,但它非常有用,我一直在使用它。
Perl -d是你的朋友:
% perl -de 0
您可以直接进入内置调试器并从那里运行命令。
perl -d -e 1
我写了一个脚本,我称之为“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
推荐文章
- 显示/隐藏c#控制台应用程序的控制台窗口
- 我如何使用布尔变量在Perl?
- 打印对象的所有属性
- 在PowerShell中重新加载路径
- IE8的console.log怎么了?
- 如何将文件加载到python控制台?
- Perl的反撇号、system和exec之间有什么区别?
- Go提供REPL吗?
- 如何包括JavaScript文件或库在Chrome控制台?
- 我如何捕获Ctrl+C (SIGINT)在c#控制台应用程序?
- 在Perl中查找数组的大小
- 如何检查Perl数组是否包含特定的值?
- 非常简单的log4j2 XML配置文件,使用控制台和文件追加器
- Perl、Python、AWK和sed之间有什么区别?
- 如何从iOS模拟器获取控制台日志?