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 ...
随机推荐
- SMA2SATA、PCIe2SATA转换模块(也有叫:Sata Test Fixtures)
SMA2SATA.PCIe2SATA测试夹具(Sata Test Fixtures) 去年制作SMA2SATA.PCIe2SATA适配器的过程早就想写出来,但一直没有时间,今天星期六有个空儿,简单整理 ...
- windbg vmware win7联机调试环境搭建
接下来设置虚拟机启动模式,可以直接设置现在的虚拟机启动项为debug模式 或者直接新建一个启动项目 bcdedit /dbgsettings {serial [baudrate:value][debu ...
- xml解析,练习
<collection shelf="New Arrivals"><movie title="Enemy Behind"> < ...
- 使用json常用到的包有以下六个
使用json常用到的包有以下六个 1. commons-logging-1.0.4.jar 2. commons-lang-2.3.jar 3. commons-collections-3.2.jar ...
- iOS学习之界面间传值
/** * 界面间传值步骤 1.界面传值第一种场场景:从前往后传值. 秘诀:属性传值.(葵花宝典). 招式:(1).在后一个界面定义属性,属性的类型和传出数据类型一致. (2).在进入下一界面之前, ...
- python 安装 ez_setup.py出现的问题及解决办法
试了网上好几个解决办法. 下面这个办法是最对我胃口的. ~~~~~~~~~~~~~~~~ 安装ez_setup.py时出现了这个问题: UnicodeDecodeError: 'ascii' cod ...
- sql server数据建表
use edudbgoif exists(select * from sysobjects where name='department')drop table departmentcreate ta ...
- Spring MVC Controller 单元测试
简介 Controller层的单元测试可以使得应用的可靠性得到提升,虽然这使得开发的时间有所增加,有得必失,这里我认为得到的比失去的多很多. Sping MVC3.2版本之后的单元测试方法有所变化,随 ...
- 一个跨域请求的XSS漏洞
场景回顾 一个表单进行跨域提交的方式有很多,我们使用的采用隐藏iframe,在本域下放一个代理页面,通过服务端配合完成一次完整的请求. 首先,部署proxy.html代理页面.这个页面处理服务端返回的 ...
- 【转】第一个MiniGUI程序:模仿QQ界面
最近几天在学MiniGui,最好的学习方法就是实践,先写个练练笔.其实只是一个界面,不知道什么时候才能真正写个完整的程序.初次写GUI程序,感觉写得不好,还请高手来指教. //============ ...