2010-11-25 64 views
1

我想知道是否有任何方法可以自动与Perl 5代码进行交互,而无需创建显式的API并通过某种协议发布它。我不想限制这个问题的任何具体方式实现 - 我正在寻找任何想法。与Perl代码自动交互

Ruby可以通过JRuby从基于JVM的语言访问;本地编译的语言通常可以通过该平台的本地共享库/标准调用约定访问;其他人可以从代码中自动生成接口... Perl有哪些选项?

+0

@Virator:我完全不知道这意味着什么。你的第一段没有映射到我脑中的任何已知的插槽,第二段几乎同样神秘。你在谈论XS的东西还是什么? – tchrist 2010-11-25 00:44:51

+0

@tchrist:我想从某种其他语言访问一些传统的Perl代码(我并不真正想要触及)。希望逐步淘汰Perl部分。我正在寻找方法来做到这一点。 – viraptor 2010-11-25 01:03:41

+1

老实说,把旧的Perl代码,并通过编写一些小的包装器(从传统的管道数据传递到某些套接字通信...)听起来对我来说听起来比尝试合并Perl和非Perl更容易原生代码。 YMMV :) – DVK 2010-11-25 02:25:05

回答

4

作为一个选项,您可以嵌入一个Perl解释器,如图hereherehere

4

有库中嵌入Perl到您的程序(见perlembed.pod)被自动编译 - 任何语言可以使用Python的pyperl,PHP的PEAR“Perl”扩展,几次尝试使用Perl 6中的Perl 5,几次尝试从JVM(全部未完成)运行Perl,Perl.NET。

另外你也可以用其他方式,用Perl中的其他语言嵌入程序,只需从其他语言的程序中调用Perl subs。主要的Perl程序只包含用其他语言调用你的程序。有大量的CPAN模块集成其他语言。