2013-03-13 89 views
3

我知道,perl6將definetely允許導入perl5代碼,但我無法做到這一點。perl5庫是否可以在perl6中導入?

這裏是perl6 code

use perl5:Net::FTP; 

它報告的error

是否有任何配置問題,或者是還沒有準備好?

+0

可能的重複[如何使用Perl 6中的Perl 5模塊?](http://stackoverflow.com/questions/9173043/how-can-i-use-perl-5-modules-from-perl- 6) – user7610 2014-12-06 19:03:56

回答

5

在線:: Perl5的

截至2014年年底,在大多數情況,對於大多數人,Inline::Perl5是去使用P6 P5代碼,反之亦然,包括P6 use ING P5庫的方式。

Inline :: Perl5在MoarVM中適當地封裝和封裝了常規perl5解釋器,以便P6編譯器Rakudo可以與P5互操作。組合已經支持:

  • use荷蘭國際集團的Perl 5個模塊,包括那些使用XS,在Perl 6
  • 操縱P5對象P6,反之亦然
  • 寫入,在P6,子類Perl的5類

九,模塊的作者,誰從來沒有寫過P6代碼,他開始在線:: Perl5中之前,已經做了一些演示,是YouTube上:

V5

v5項目,如teodozjan的回答討論,是一個非常不同的技術,具有非常不同的使用情況,大部分(但不是全部)無關的SO質疑這個帖子回答。

v5是從頭開始重新實現的Perl 5解釋器/編譯器。 v5目前解析和編譯足夠的純Perl 5代碼,以便在常規perl5測試套件中傳遞幾千個測試,並且可以傳遞一些簡單的Perl 5模塊。它最初是用NQP編寫的(2013年),然後在2014年移植到完整的Perl 6中。

該模塊的作者FROGGS大多停止開發它,而他在其他更緊急的P6上工作。但它已經是一個重要的項目,推動了各種Perl 6功能,特別是slang功能。長期v5可能會產生一個全新的Perl 5實現。 (但沒有bug兼容性或對XS的(直接)支持)。

FROGGS已經在v5上做了一些演示,包括這個20 minute video introducing v5 in 2013

九建議v5可以用來添加糖到Inline :: Perl5和Inline :: Perl5可以給v5一些額外的選項,所以這兩個項目可能最終會互相幫助。

blizkost

第一個基於Rakudo P5/P6互操作的項目是 「blizkost」。該項目允許在Parrot VM上的老版本Rakudo上執行單個字符串的Perl 5代碼(大約2010年)。我相信它在當前版本上不起作用,並且已經被Inline :: Perl5廢棄。

1

根據perlwiki

注:截至2012年5月,沒有Perl 6的編譯器的又實現此功能。

根據adventcalendar

一些基本模塊是通過俚語功能可用,但只喜歡配置,CWD和英語提供其中的幾個。

相關問題