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

 更新时间:2018年10月01日 10:00:03   作者:Elizabeth Mattijsen   我要评论

今天小编就为大家分享一篇关于将Perl5代码迁移到Perl6上的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

总结

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

相关文章

  • FTP自动上传文件的perl脚本以及配置文件

    FTP自动上传文件的perl脚本以及配置文件

    这个perl文件将执行的任务是, 按照指定的文件夹目录,自动将该文件夹下的所有文件上传到指定ftp站点的指定目录下
    2006-11-11
  • Perl中的真与假深入研究

    Perl中的真与假深入研究

    这篇文章主要介绍了Perl中的真与假深入研究,本文详细讲解了Perl中真值与假值的不同,需要的朋友可以参考下
    2015-06-06
  • Perl中的单行注释和多行注释语法

    Perl中的单行注释和多行注释语法

    这篇文章主要介绍了Perl中的单行注释和多行注释语法,本文还同时讲解了其它常见编程语言的单行注释和多行注释语法,需要的朋友可以参考下
    2015-06-06
  • Perl学习教程之单行命令详解

    Perl学习教程之单行命令详解

    这篇文章主要给大家介绍了关于Perl学习教程之单行命令的相关资料,文中给出了详细的示例代码供大家参考学习,对大家学习或者使用perl具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • Perl实现高水线算法(解决多值比较问题方法)

    Perl实现高水线算法(解决多值比较问题方法)

    这篇文章主要介绍了Perl实现高水线算法(解决多值比较问题方法),从本文代码示例中还可以学习到数组遍历、函数写法、函数调用等知识,需要的朋友可以参考下
    2015-06-06
  • perl数组的多数字下标示例代码

    perl数组的多数字下标示例代码

    perl数组中正常的下标运算,想必大家都比较熟悉,这里不作说明。本文想说的是perl数组下标的多数字取值,可以极大的方便数组的操作
    2013-02-02
  • perl 文件操作总结

    perl 文件操作总结

    perl 文件操作总结,需要的朋友可以参考下
    2013-02-02
  • perl的POD权限问题处理

    perl的POD权限问题处理

    今天我们继续查找mod_perl对req_header的处理,有需要的朋友建议参考学习之
    2013-02-02
  • Perl脚本检测一个域名是否有效

    Perl脚本检测一个域名是否有效

    这篇文章主要介绍了Perl脚本检测一个域名是否有效,检查域名是否可以正常打开,需要的朋友可以参考下
    2014-06-06
  • Perl命令行应用程序详解

    Perl命令行应用程序详解

    这篇文章主要介绍了Perl命令行应用程序详解,本文大量讲解了perl的命令行参数和一句话实现的一些功能,需要的朋友可以参考下
    2015-02-02

最新评论