perl6之'Hello World'
安装完perl6之后,当然是要写一下Hello World了。
因为perl6的脚本一般都很短小,所以用不着很笨重的IDE之类的东西,我们用VIM,sublime text这种小型的编辑器
来开始perl6的学习之旅就可以了
首先打开你的编辑器新建一个文件,命名为helloworld.pl,输入下面的代码
#!/usr/bin/perl6 use v6; #这是一行注释 say "Hello World."; # "Hello World.".say;
# "Hello World.".say(); #`( 这是多行注释
注释以#加上`打头 `就是英文状态下的tab键上面那个键
这里的()可以替换成{}[]等等可以成对的括号
)
保存之,打开一个终端cd到 helloworld.pl 所在的目录,执行
chmod +x helloworld.pl
然后执行
./helloworld.pl
将会输出hello world,结果如图
简单的讲一下这个小小的程序,第一行
#!/usr/bin/perl6
便是雷打不动的脚本第一行 学名叫Shebang,关于这个东西可以参考wikipedia(如今这个都要爬梯子。。。)
表示脚本执行的时候会调用/usr/bin/perl6这个脚本解释器来执行,其实也可以不写这个东西,但是这样的话
执行perl6脚本的时候需要这样执行
perl6 helloworld.pl
程序的第三行
use v6;
代表程序我们的程序要使用某一个模块或者开启一个标志,比如perl5的时候一般开头是
use strict;
因为perl5的变量可以不用定义直接使用,加上use strict;这个之后,必须用my操作符来
定义变量才可以使用,否则就会报变量不在作用域的错误
而use v6代表我们要使用perl6的v6模块,它含有好几部分,当然在这里没什么实际的作用
第五行是一行单行注释,不多说了,perl5同样支持这种注释,然而perl6增加了多行注释
第十二行就是perl6的多行注释#`加上一对括号就可以了。。
第七行
say "Hello World.";
表示把"Hello Wolrd"输出到屏幕上,并自动换行,于是我们输出的内容后面会有一个换行符
其实按照perl6的方式应该是这样写
"Hello Wolrd.".say;
或者是
"Hello Wolrd.".say();
这三种写法都可以在屏幕上输出一行Hello World.
第一种写法是perl5的扩展写法,perl5本身是使用print输出的,say是高版本的扩展用法
第二种是perl6支持的新潮后缀写法,而因为say没有参数可以省略掉后面的括号,能省则省嘛。。。
Hello World到此为止。。。。
perl6之'Hello World'的更多相关文章
- 学习Perl6: slice fastq file
需求: 只获取 ath 物种的 hairpin 序列 文件格式如下所示,以>打头的为 header,紧跟的为序列[AUCG]+ (Perl5 regexp 格式) #!/usr/bin/env ...
- Backup: Array in Perl6
Array in Perl6 继承List,而List又继承Iterable,Positional,Cool ARRAY.pop ARRAY.shift ARRAY.push: VALUES ARRA ...
- Backup: Numbers in Perl6
Perl6 is a new language, not a improved version of Perl5. Perl6 inherits many good features from man ...
- perl6 JSON::Fast模块json解析的使用
关于JSON: JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,语法简单,各种语言都有相应的库或者模块支持. 因为JSON非常小巧,解析起来又非常简单,我 ...
- perl6的介绍与下载编译安装
遇到perl6 一直想认真的学习一门脚本语言或者与之类似的语言,因为相对与c++/c来说,一些工作可以很方便的用脚本语言来解决,比如对于日志文件的处理,自动ftp上传. 也看过不少语言的介绍,比如py ...
- perl6 HTTP::UserAgent (2)
http://www.cnblogs.com/perl6/p/6911166.html 之前这里有个小小例子, 这里只要是总结一下. HTTP::UserAgent包含了以下模块: --------- ...
- Perl6 必应抓取(2):最终版
use HTTP::UserAgent; use URI::Encode; Firefox/52.0>); my $bing_url = 'http://cn.bing.com/search?q ...
- Perl6多线程3: Promise start / in / await
创建一个Promise 并自动运行: my $p = Promise.start({say 'Hello, Promise!'}); 如果把代码改成如下, 我们会发现什么也没打印: ;say 'Hel ...
- Perl6多线程2: Promise new/keep/bread/status/result
来源于个人理解的翻译. 创建一个 promise: my $p = Promise.new; 可以打印运行 的Promise 状态: my $p = Promise.new(); $p.then({s ...
随机推荐
- 我的django之旅(二)模板和静态文件
我的django之旅(二)模板和静态文件 标签(空格分隔): django 1.为什么要使用模板 在上一篇博文中,提到了HttpReponse,但是HttpReponse只能传送字符串,如果要构建一个 ...
- js迭代器模式
在迭代器模式中,通常有一个包含某种数据的集合的对象.该数据可能储存在一个复杂数据结构内部,而要提供一种简单 的方法能够访问数据结构中的每个元素. 实现如下: //迭代器模式 var agg = (fu ...
- 小安,今天学会了MySQL中查询时间的方法哦
- Gora快速入门
概述 Gora是apache的一个开源项目. The Apache Gora open source framework provides an in-memory data model and pe ...
- PHPexcel 判断日期类型
若已经确定某列为日期型数据: for($currentRow=2;$currentRow <= $allRow;$currentRow++){ //从哪列开始,A表示第一列 for($curre ...
- excel筛选两列值是否相同,如果相同返回第三列值
见图:
- Java中的日期处理类
在Java中可以使用Date类和Calendar类来处理日期 但是Date类很多方法都过时了,推荐使用Canlendar类来处理日期,并对日期的格式化做了介绍.下面的部分将会逐一介绍 Date类 Ja ...
- ng-bind-html 的使用
AngualrJS 提供了指令ng-bind-html 用于绑定包含HTML标签的文档,使用方式: <ANY ng-bind-html=""> ... </ANY ...
- 2015北大夏令营day1 B:An Idea of Mr. A
题意:给定一个范围l,r计算i,j(i<j)属于这个范围内的gcd(2^(2^i)+1,2^(2^j)+1)的总和. 思路:费马数的应用,让我惊呆的是当年居然有123个人会做,我tm毛都不会.. ...
- Resharper上手指南
原文http://www.cnblogs.com/renji/archive/2007/12/11/resharper.html Resharper上手指南 我是visual studio的忠实用户, ...