无论您是一个正在将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编程时感知到的概念阈值。在家感觉更容易!
自从cpan蝴蝶计划发布以来,perl 6中支持了100多个内置perl 5函数,并具有相同的api。perl 6中已有许多函数,但语义略有不同,例如,function shift() { [native code] }在perl 5中神奇地从@_(或@argv)如果没有指定参数;在perl 6中,该参数是必需的。
还将50多个perl 5 cpan发行版移植到perl 6中,同时遵循最初的perl 5 api。这些包括核心模块,如标量:util和清单:util,但也包括非核心模块,如案文:csv和memoize。cpan上游的分布对生态系统有尽可能大的影响。
摘要
rakudo perl 6的成熟方式使得使用perl 6现在是创建新的交互式项目的可行方法。能够使用可靠的、经过验证的perl 5语言组件有助于降低开发人员使用perl 6的阈值,并且它建立在perl 5和perl 6之和大于其部分的情况下。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对代码网的支持。如果你想了解更多相关内容请查看下面相关链接
发表评论