当前位置: 代码网 > it编程>网页制作>Perl > 将Perl5代码迁移到Perl6上的解决方案

将Perl5代码迁移到Perl6上的解决方案

2024年05月15日 Perl 我要评论
无论您是一个正在将perl 5代码转换为perl 6并遇到一些问题的程序员,还是您只是想了解如果您尝试将perl 5程序移植到perl 6可能会发生什么,本文应该回答您的问题。perl 6文档已经包含

无论您是一个正在将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之和大于其部分的情况下。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对代码网的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com