perl6的介绍与下载编译安装

遇到perl6

一直想认真的学习一门脚本语言或者与之类似的语言,因为相对与c++/c来说,一些工作可以很方便的用脚本语言来解决,比如对于日志文件的处理,自动ftp上传。

也看过不少语言的介绍,比如python,ruby,erlang,go等等,由于本人是c语言入门,后来学习中转向了c++,所以习惯了c/c++的编程风格,对于python的

语言风格无法认同,tab缩进区分代码块什么的简直反人类。。。喜欢python的不要打我。。。至于erlang,纯粹的函数式语言,用起来挺绕的,不是觉得很方便,

erlang和之前的编程习惯相差太大,一开始关注只是因为看到了百万级并发什么,后来才发现不是我的菜。。。

后来无意中,看到了perl,确切的说是perl5,简单的了解了一下, 我就喜欢上了这门语言,再后来在使用的过程中才发现还有perl6,于是秉着向前看的思想决定

前来学习perl6了,因为有了perl5的基础,入门还算容易,就是中文的资料太少了,好多资料都是英文的,"启示录"、入门教程、etc。。。。

perl6介绍

好了,废话完了来介绍一下perl6,perl6的官方网站是

http://www.perl6.org/

他还有一只吉祥物,一只五颜六色的蝴蝶,perl6一只强力的、功能丰富的编程语言,关于perl6的历史网上有一些介绍这里就不细说了,Larry最初开发perl6的时候

是打算用perl5扩充语法,然后实现perl6,最后实现perl6的bootstrap,不过最后失败了,再后来TW的大神唐宗汉建立了项目pugs,成为了perl6的第一个可用的实现。

目前perl6的编译器有这样几个

1、Rakudo

它可以让perl6运行在MoarVM和JVM以及Parrot上,你可以从这里下载它 http://rakudo.org/how-to-get-rakudo/

2、Niecza

它可以把perl6的代码编译成CLR的代码,让perl6运行在.NET 和Mono上

另外还有STD、viv、NQP、PUGS、perlito

其余的几个编译器是为实现perl6服务的,STD是Larry写的一个标准,perl6的grammar,viv可以使用STD将perl6转换为perl5,STD使用viv来构建

NQP则是用来帮助perl6编写编译器和库的

perl6下载、编译与安装

我们这里下载的是Rakudo Star,windows的是msi安装包,下载地址是

http://rakudo.org/downloads/star/

傻瓜式一键安装,安装完毕后配置一下环境变量即可,不多说了

linux下面是源码编译安装,选择的后端虚拟机是moarVM,不喜欢JVM不说了。。。这里我使用的fedora20系统

首先从Rakudo的git把源代码下载下来,

使用

git clone git://github.com/rakudo/rakudo.git

将源码clone下来即可,如果clone的速度比较慢,你可以去https://github.com/rakudo/rakudo/

下载源码包,解压即可

perl6编译的时候需要perl5,不过一般的linux版本下都自带了perl5,所以不是问题,

perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=/usr/local/perl6/

在解压得到的目录或者git得到的目录下执行上面的命令,--backends=moar这个后面的参数是可选的,使用

perl Configure.pl help

可以查看支持的选项,如果有需要的文件程序会自己下载,由于防火墙比较强大,静静的等待clone,

如果安装时缺少了模块,可以下载安装上,例如fedora20是yum install perl-xxxx

clone好了之后使用make编译即可,编译的速度很快,我的物理机是core i3虚拟机编译用了2分钟的样子,

接下来建议执行一下

make test,都是ok就是没有问题了,

最后make install,瞬间完成

最后如果你安装的perl6的路径不在环境变量里,可以执行

ln -s /usr/local/perl6/bin/* /usr/bin/

做一个软连接,然后就可以使用perl6了。。

时间: 2024-11-05 05:06:37

perl6的介绍与下载编译安装的相关文章

jmeter--001.介绍、下载与安装

一.介绍 使用场景: -1.接口测试 -2.性能测试 .... 特点: -1.开源.轻量级.插件化 -2.适合自动化和持续集成 二.下载(Windows环境) 下载网址:http://jmeter.apache.org/download_jmeter.cgi ① 本网页显示最新版本jmeter ② 需要下载以前的版本,点击Archives ---> 选择 Apache JMeter archives ---> 选择 binaries ---> 展示所有版本的jmeter,可以选择需要的(

STM32CubeMX介绍、下载与安装

Ⅰ.写在前面 相信很多人都知道STM32CubeMX这个工具,也是近年来开发STM32比较流行的一个工具.这个工具从两年前第一版到现在已经有多个版本了,功能也从简单越来越强大了. STM32CubeMX是一个配置STM32代码的工具,它把很多东西封装的比较好,硬件抽象层.中间层.示例代码等. 现在ST公司主要升级和维护的库主要就是“Cube库”和“标准外设库”,使用这两种库开发各有各的好处,这里详细描述. 如果你是一名刚学STM32的初学者,想要把硬件底层搞的很明白,不建议使用STM32Cube

红豆带你从零学C#系列—Visual Studio工具介绍、下载和安装

一.Visual Studio的下载 Visual Studio(简称VS)是微软的一套完整的开发工具集,集成了能够开发并运行如C#.C++.VB.F#等程序的开发环境,目前最新的版本是Visual Studio2015,如果你还没有安装包,推荐你去官网http://msdn.itellyou.cn/下载,有各种版本的开发工具. 选择你喜欢的版本,点击蓝色区域的“详细信息”,就可以复制下载地址到迅雷下载了.在这里面你可以找到几乎你能想到的微软的产品,包括有操作系统,开发工具,Office工具等.

【转】MongoDB介绍及下载与安装

引言 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. 它的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询.

移动端服务器i-jetty下载编译安装及问题解决系列

由于新项目需要在一台Android平台的设备中布署WEB服务器并提供内网接入者通过浏览器访问WEB程序,遂考虑了Google的开源项目Jetty for Android,本来由于没有接触过已经做好心理准备会遇到一系列的问题,但猜到了开始却没猜到结局,过程相当坎坷.这也是这篇随笔出现的原因,一来为自己长记性,二来吧,对于Jetty for Android,网路上那些群魔乱舞的资料实在是太让我无语了,毫无用处的博文实在是太多太多,有些在看的时候把人都看懵圈了,所以本篇随笔以作整理之用. 首先惯例环境

Sqli-labs介绍、下载、安装

SQLI和sqli-labs介绍 SQLI,sql injection,我们称之为sql注入.何为sql,英文:Structured Query Language,叫做结构化查询语言.常见的结构化数据库有MySQL,MS SQL ,Oracle以及Postgresql.Sql语言就是我们在管理数据库时用到的一种.在我们的应用系统使用sql语句进行管理应用数据库时,往往采用拼接的方式形成一条完整的数据库语言,而危险的是,在拼接sql语句的时候,我们可以改变sql语句.从而让数据执行我们想要执行的语

转:MongoDB介绍及下载与安装

非原创,我也是转载(Here)过来备份一下.关于MongoDB园子里有个系列讲的不错的,点击此处跳转 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. 它的特点是高性能.易部署.易使用,存储

MongoDB介绍及下载与安装

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引. 它的特点是高性能.易部署.易使用,存储数据非常方便.主要功能特性有: 面向集合存储,易存储对象类型的数据. 模式自由. 支持动态查询. 支持

下载编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理

http://blog.csdn.net/gangchengzhong/article/details/52910225 [注意,在编译make时出现的错误并不是文章中说的openssl的版本问题,而是./configure的时候没有指定openssl的安装地址  --with-ssl=/usr/local/ssl] ===>    http://coolio.blog.51cto.com/680971/1400912