Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Perl代码的自动交互_Perl_Language Interoperability - Fatal编程技术网

与Perl代码的自动交互

与Perl代码的自动交互,perl,language-interoperability,Perl,Language Interoperability,我想知道是否有任何方法可以自动与Perl5代码交互,而无需创建显式API并通过某种协议发布它。我不想把这个问题局限于实现这一目标的任何具体方式——我在寻找任何想法 例如,可以通过JRuby从基于JVM的语言访问Ruby;本机编译的语言通常可以通过该平台的本机共享libs/标准调用约定访问;其他人可以从代码自动生成接口。。。Perl的选项是什么?作为一个选项,您可以嵌入Perl解释器,如图所示或作为一个选项,您可以嵌入Perl解释器,如图所示或有一个库可以将Perl嵌入到您的程序中,请参阅自动编译

我想知道是否有任何方法可以自动与Perl5代码交互,而无需创建显式API并通过某种协议发布它。我不想把这个问题局限于实现这一目标的任何具体方式——我在寻找任何想法


例如,可以通过JRuby从基于JVM的语言访问Ruby;本机编译的语言通常可以通过该平台的本机共享libs/标准调用约定访问;其他人可以从代码自动生成接口。。。Perl的选项是什么?

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

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

有一个库可以将Perl嵌入到您的程序中,请参阅自动编译的perlembed.pod-任何语言都可以使用它,pyperl for Python,PEAR Perl PHP扩展,从Perl 6使用Perl 5的几次尝试,从JVM运行Perl的几次尝试都没有完成,Perl.NET


也可以换一种方式,在Perl中嵌入其他语言的程序,然后从其他语言的程序中调用Perl subs。主Perl程序只包括用其他语言调用您的程序。有大量的CPAN模块可以集成其他语言。

有一个库可以将Perl嵌入到您的程序中。请参阅perlembed.pod,它是自动编译的-任何语言都可以使用它,pyperl用于Python,PEAR Perl extension用于PHP,从Perl 6使用Perl 5的几次尝试,从JVM运行Perl的几次尝试都没有完成,Perl.NET


也可以换一种方式,在Perl中嵌入其他语言的程序,然后从其他语言的程序中调用Perl subs。主Perl程序只包括用其他语言调用您的程序。有大量的CPAN模块集成了其他语言。

@Virator:我根本不知道这意味着什么。你的第一段没有映射到我大脑中任何已知的位置,第二段几乎同样神秘。你是在说XS之类的东西吗?@tchrist:我想访问一些传统的Perl代码,我真的不想从其他语言接触这些代码。希望随着时间的推移逐步淘汰Perl部分。老实说,我正在寻找实现这一点的方法。通过编写一些小包装器,将遗留的Perl代码转化为API,从普通的旧管道数据传递到一些套接字通信,以。。。在我看来,这比尝试在本机级别上合并Perl和非Perl代码要容易得多。YMMV:@DVK:这绝对是一个选择。我只需要测试两种方法,看看什么更容易使用,什么需要更少的perl重写。@Virator:我根本不知道这意味着什么。你的第一段没有映射到我大脑中任何已知的位置,第二段几乎同样神秘。你是在说XS之类的东西吗?@tchrist:我想访问一些传统的Perl代码,我真的不想从其他语言接触这些代码。希望随着时间的推移逐步淘汰Perl部分。老实说,我正在寻找实现这一点的方法。通过编写一些小包装器,将遗留的Perl代码转化为API,从普通的旧管道数据传递到一些套接字通信,以。。。在我看来,这比尝试在本机级别上合并Perl和非Perl代码要容易得多。YMMV:@DVK:这绝对是一个选择。我只需要测试两种方法,看看什么更容易使用,什么需要更少的perl重写。按照这个想法,我发现pyperl太容易在python中嵌入perl。按照这个想法,我发现pyperl太容易在python中嵌入perl。我可以看到很多类似的项目,但有时很难看出哪些是概念验证类型,哪些是发布的严肃项目,因为它们实际上在某个地方使用并维护,这正是我所寻找的:perlembed.pod是我答案中的第一个链接,仅供参考:你的答案提供了相当好的细节,所以我很高兴你给出了它,虽然我可以看到很多这样的项目,但有时很难看到哪些是概念验证类型,哪些是发布的严肃项目,因为它们实际上在某个地方使用并维护,这就是我要寻找的:perlembed.pod是我答案中的第一个链接,仅供参考:你的答案提供了相当好的细节,所以我很高兴你给出了答案