perl5库是否可以在perl6中导入?

时间:2013-03-13 10:04:32

标签: perl6 perl5

我知道perl6会定义允许导入perl5代码,但我无法做到这一点。

这是perl6 code

use perl5:Net::FTP;

报告error

是否有任何配置问题或尚未准备好?

2 个答案:

答案 0 :(得分:6)

内嵌:: Perl5的

截至2014年底,对于大多数人来说,Inline::Perl5是在P6中使用P5代码的方式,反之亦然,包括P6中的use P5库。< / p>

Inline :: Perl5在MoarVM中适当地打包并包装一个常规的perl5解释器,以便P6编译器Rakudo可以与P5互操作。该组合已经支持:

  • use Perl 5模块,包括在Perl 6中使用XS的模块
  • 在P6中操纵P5对象,反之亦然
  • 在P6中编写Perl 5类的子类

九,该模块的作者,在他开始使用Inline :: Perl5之前从未编写过P6代码,已做过一些在youtube上可用的演示文稿:

V5

正如teodozjan的回答中所讨论的,v5项目是一种非常不同的技术,具有非常不同的用例,大多数(但并非完全)与本文回答的SO问题无关。

v5是Perl 5解释器/编译器的从头开始重新实现。 v5目前正在解析和编译足够纯的Perl 5代码,以便在常规perl5测试套件中传递几千个测试,并传递给use一些简单的Perl 5模块。它最初是在NQP(2013年)中编写的,然后在2014年移植到完整的Perl 6。

该模块的作者FROGGS在制作其他更紧急的P6作品时,大多暂停了它的开发。但它已经是一个重要的项目,推动了各种Perl 6功能,特别是slang功能。长期的v5可能会产生一个全新的Perl 5实现。 (但没有bug for for bug兼容性或(直接)支持XS。)

FROGGS已就v5做了一些演示,包括20 minute video introducing v5 in 2013

九建议v5可用于向Inline :: Perl5添加糖,而Inline :: Perl5也可以为v5提供一些额外选项,因此这两个项目最终可能会相互帮助。

blizkost

第一个基于Rakudo的P5 / P6互操作项目是&#34; blizkost&#34;。该项目允许在Parrot VM(大约2010年)的旧版本的Rakudo上执行单个字符串的Perl 5代码。我认为它不适用于当前版本,并已被Inline :: Perl5淘汰。

答案 1 :(得分:1)

根据perlwiki

  

注意:截至2012年5月,Perl 6编译器都没有实现此功能。

根据adventcalendar

一些基本模块可以通过俚语功能使用,但只有少数像Config,Cwd和English可用。