如何启动Perl的交互式控制台?
如何启动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()//$@'