無論您是一個正在將Perl 5代碼轉換為Perl 6并遇到一些問題的程序員,還是您只是想了解如果您嘗試將Perl 5程序移植到Perl 6可能會發生什么,本文應該回答您的問題。
Perl 6文檔已經包含了大部分(如果不是全部)你需要的文件要解決將Perl 5代碼遷移到Perl 6時所面臨的問題,請執行以下操作。但是,正如文件所述,重點是事實上的差異。我將嘗試更深入地討論具體問題,并根據我將相當多的Perl 5代碼移植到Perl 6的經驗,提供更多的第一手信息。
Perl 6怎么樣?
很好,謝謝!自2015年12月第一次正式發布以來,RakudoPerl 6經歷了數量級的改進和相當多的bug修復(總計超過14,000次提交)。到目前為止,已經出版了七本關于Perl 6的書。學習Perl 6作者布賴恩·D·福伊不久將由奧賴利出版,他是在精辟的基礎上重新創作的。學習Perl(又稱“拉瑪書”)許多人已經認識并愛上了。
用戶分布拉庫多星處于三個月的發布周期,在Perl 6生態系統。RakudoCompiler版本處于每月發布周期,通常包含30多人的貢獻。Perl 6模塊上載到Perl編程作者上傳服務器(停頓)并使用PerlArchive綜合網絡(CPAN).
網上Perl 6簡介文檔已經被翻譯成12種語言,用他們的母語教了30多億人關于Perl 6的知識。最近的化身Perl 6周刊自2014年2月以來,每周都會報告Perl 6的所有內容。
CRO一個微服務框架,自始至終使用Perl 6的所有特性,提供HTTP1.1持久連接、HTTP2.0和請求多路復用,HTTPS提供可選的證書頒發機構。和一個Perl 6 IDE現在正處于(付費)beta版(把它想象成一個具有即時可交付性的Kickstart)。
在Perl 6中使用Perl 5特性
可以使用Inline::Perl5模塊,制造全的CPAN任何Perl 6程序都可以使用。這可以被視為欺騙,因為它將嵌入perl 5解釋器,因此繼續依賴于perl(5)運行時。但它是嗎?只需添加以下內容,就可以輕松地運行perl 6代碼(如果您需要訪問尚未移植的模塊):只需將:從<Perl 5>添加到USE語句,就像USE DBI:from<Perl 5>;。
2018年1月,我提議CPAN蝴蝶計劃若要將Perl 5功能轉換為Perl 6,請盡可能地將其轉換為原始API。我說這是一個目標,因為Perl 5(作為一種編程語言)不僅僅是語法。如果問任何人Perl的獨特賣點是什么,他們很可能會告訴您它是CPAN。因此,我認為是時候從Perl宇宙的這個角度出發了:
以一種更現代的觀點:
換句話說,將作為Perl最重要元素的CPAN放在中間。
轉換語義
要在Perl 6中本機運行Perl 5代碼,還需要大量Perl 5語義。Perl 6中提供的對Perl 5語義的支持(可選)降低了Perl 5程序員在試圖使用Perl 6編程時感知到的概念閾值。在家感覺更容易!
|
新聞熱點
疑難解答