Perl交互式解释器(REPL)

几乎所有的解释型语言都有交互式解释器(read-eval-print-loop,亦称REPL)。

诸如JavaScript、Python等语言可以直接在终端里输入解释器的名称开启REPL,而有的需要带参数运行解释器才能启动REPL,比如php需要加上参数“-a”。而有的解释型语言需要借助独立的模块才能运行REPL,比如Ruby(irb),Perl就是最后这种类型。当然,Java这种解释型语言比较特殊,不过也可以动态执行,比如说BeanShell就实现了此功能。。

Perl如果要使用REPL,方法很多。比如有的Linux发行版有“perl-Devel-REPL”包(比如Fedora),安装好后键入“re.pl”就可以启动perl交互式解释器。当然,安装好此包以后,下面的代码也可以运行。

如果要手动配置,就需要安装一个模块——Devel::REPL,在一些Linux发行版里(比如Ubuntu),这个模块包含在名叫“libdevel-repl-perl”的包里,安装好这个包后,下面代码就可以运行了。

re.pl

#!/usr/bin/env perl
# A modern perl interactive shell

use Devel::REPL;        # or require Devel::REPL

my $repl = Devel::REPL->new;
$repl->load_plugin($_) for qw(History LexEnv);
$repl->run

把它放到“/usr/bin/”目录下,命名为“re.pl”并添加可执行权限,下次就可以直接从终端启动了。很酷吧!

REPL可以测试一些简单的代码,方便调试工作。

参考:CPAN文档——Devel::REPL

作者: YanWen

Web 开发者

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s