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

news2024/10/2 14:38:14

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/54363.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]Python计算机毕业设计Django会议室预定管理APP

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

FileRun多功能网盘的搭建

本文完成于国庆期间&#xff1b; 什么是 FileRun ? FileRun 是一个自托管的 Google Drive 替代方案。它是一个功能齐全的基于 Web 的文件管理器&#xff0c;具有易于使用的用户界面。 FileRun 免费版 可以用于商业和非商业用途&#xff0c;默认提供 5 个用户帐户。注册安装后可…

Spring框架(一):SpringBean的生命周期以及循环依赖和处理方式

这里写目录标题前言Spring的生命周期循环依赖三级缓存处理流程Spring Ioc容器实例化 流程前言 痛定思痛&#xff0c;主要问题出现在自己雀氏不熟悉框架基础、一些面试题&#xff0c;以及sql的使用淡忘了。 本章节的开始是对于过去的重新回顾&#xff0c;当然&#xff0c;我也会…

该如何选择合适的服务器,保证服务器的安全

在服务器遇到大量进犯&#xff0c;不方便转移时&#xff0c;很多运营网站或许游戏的会挑选接入云防护产品&#xff0c; 服务器在遭受进犯形成服务器瘫痪无法正常的运行&#xff0c;遇到这样的状况都会挑选有较高防护的服务器器&#xff0c;可是有时分服务器的数据搬迁有比较麻…

如何将音乐导入iphone手机,怎么将歌曲导入到iphone

如何将音乐导入iphone手机&#xff1f;把音乐导入苹果手机&#xff0c;主要有2种方法&#xff1a;一种是使用iTunes把音乐导入iPhone&#xff0c;另一种是通过专门的工具将iPhone不支持的音乐格式导入到手机中。我们一起来了解一下。 方法一、使用iTunes将音乐传输到iphone iT…

【Spring框架】超详细的AOP技术详解,你真的不来看看吗?

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;【Spring】 &#x1f96d;本文内…

led灯什么牌子的质量好又耐用?2022性价比高的led护眼灯品牌推荐

大家生活中可能都接触到了不少的人造灯光&#xff0c;不知道有没有留意过&#xff0c;其实大部分都是使用led灯珠作为发光源呢&#xff0c;这是由于led灯的确有很多传统台灯所不具备的优势。 Led作为一种固态半导体元件&#xff0c;具有自发光的特性&#xff0c;可以直接将电能…

【元宇宙欧米说】探讨Web3领域的文化交汇点

在Web3的加持下&#xff0c;如何融合各产业建立文化新生态&#xff1f;电影、音乐、文学、艺术等如何更好地融汇碰撞创造新生机&#xff1f; 12月6日下午三点&#xff0c;ⁿᵒ 3.14创始人Crystal将以“探讨Web3领域的文化交汇点”为题&#xff0c;与大家共同探讨Web3时代的文化…

[附源码]Python计算机毕业设计Django基于JavaWeb的学校社团活动管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

领悟《信号与系统》之 连续系统的频域分析

连续系统的频域分析一、连续系统的频域分析1. 系统函数与系统的频域分析1. 理论分析2. 频域分析法求解系统零状态响应步骤2. 无失真传输一、连续系统的频域分析 一个系统的重要指标就是求系统函数&#xff0c;用系统函数来表征这个系统得特性&#xff0c;系统函数其实系统对外…

【毕业设计】深度学习OCR中文识别系统 - opencv python

文章目录0 前言1 课题背景2 实现效果3 文本区域检测网络-CTPN4 文本识别网络-CRNN5 最后0 前言 &#x1f525; Hi&#xff0c;大家好&#xff0c;这里是丹成学长的毕设系列文章&#xff01; &#x1f525; 对毕设有任何疑问都可以问学长哦! 这两年开始&#xff0c;各个学校对…

Android ViewPager2 + Fragment + BottomNavigationView 联动

Android ViewPager2 Fragment BottomNavigationView 联动 本篇主要介绍一下 ViewPager2 Fragment BottomNavigationView , 上篇中把ViewPager2和Fragment 联动起来了, 本篇主要把 BottomNavigationView集成进去 概述 BottomNavigationView 是一个底部导航控件, 现在要实现…

import一个“太极”库,让Python代码提速100倍

众所周知&#xff0c;Python的简单和易读性是靠牺牲性能为代价的—— 尤其是在计算密集的情况下&#xff0c;比如多重for循环。 不过现在&#xff0c;大佬胡渊鸣说了&#xff1a; 只需import 一个叫做“Taichi”的库&#xff0c;就可以把代码速度提升100倍&#xff01; 不信&…

Springboot配置文件加密

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、jasypt二、使用步骤1.引入依赖2.添加配置3.生成密钥3.idea启动添加环境变量3.linux环境启动报错前言 前面叙述了数据传递过程中的加密&#xff0c;需要使用…

docker 命令 相关

mysql 主从复制&#xff1a; 一主多从配置 主服务器&#xff1a;容器名mysql-master&#xff0c;端口3307 从服务器&#xff1a;容器名mysql-slave1&#xff0c;端口3308 从服务器&#xff1a;容器名mysql-slave2&#xff0c;端口3309 注意&#xff1a;如果此时防火墙是开启…

[附源码]计算机毕业设计JAVA星期八酒店管理系统

[附源码]计算机毕业设计JAVA星期八酒店管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM myba…

ASEMI整流桥堆GBJ406的作用,GBJ406整流桥型号及参数

编辑-Z GBJ406整流桥型号及参数&#xff0c;ASEMI整流扁桥GBJ406电性参数为4A反向电压600V&#xff1b;浪涌电流Ifsm为120A&#xff1b;工作温度为&#xff1a;-55℃~150℃&#xff1b;采用台湾进GPP芯片中有4个芯片&#xff0c;芯片尺寸84MIL。 GBJ406参数描述 型号&#xf…

FCPX插件Yanobox Motype for mac(43种动画发生器)

Yanobox Motype mac版是要您后期制作的福音。插件仅适用于&#xff1a;Mac OSX 苹果系统下&#xff1a;Final Cut Pro X 、Motion&#xff0c;Premiere Pro和After Effects剪辑软件。随意更改字体大小和位置&#xff0c;随意制作你喜欢的视频&#xff01; 提供了一个多功能的…

从根上理解Cglib与JDK动态代理

最近在阅读到了Spring源码对于两种动态代理使用在不同场景下的使用&#xff0c;两种方式各有利弊写一篇文加深自己的认识。文中对于源码的涉及较少&#xff0c;更多的是作者自己的理解和举例&#xff0c;然后通过部分源码验证。 首先看两个面试经常会遇到的关于Spring的问题&a…

数理统计笔记7:分类数据分析-拟合优度检验和列联分析

引言 数理统计笔记的第7篇介绍了分类数据分析的方法&#xff0c;包括拟合优度检验和列联分析&#xff0c;给出了两者的卡方检验量的表达式&#xff0c;并且用例子进行了说明&#xff0c;最后谈了列联分析需要注意的问题。 引言什么是分类型数据拟合优度检验χ2\chi^2χ2统计量例…