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 ...
随机推荐
- C/C++中的const int*和int * const
代码: #include <iostream> using namespace std; int main(){ const int *p; ; p = &a; a = ; cou ...
- [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用
用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划: oe@OCM> conn / as sysdba Connected. sys@OCM> grant dba to ...
- 初学 Play Framework 以及可能遇到的问题
这段话之后都是我从别人那拷贝过来的资料,方便大家查阅 红色标注字体是我自己遇到的一些问题: 如果你遇到了这样的问题 :
- 修改mysql的默认字符集
\s 查看mysql的字符集 把server characterset和db characterset修改成utf8 在my.ini的mysqld下面添加两行代码,重启mysql [mysql] de ...
- [TYVJ] P1026 犁田机器人
犁田机器人 背景 Background USACO OCT 09 2ND 描述 Description Farmer John為了让自己从无穷无尽的犁田工作中解放出来,於是买了个新机器人帮助他犁田 ...
- Winform(C#)限制程序只运行一个实例
C#控制只运行开启一个程序 在这个例子中不需要调用ReleaseMutex,mutex会在程序结束时自动释放.为了防止mutex过早释放,在程序的最后调用下GC.KeepAlive (mutex). ...
- XJOI网上同步训练DAY1 T3
思路:一开始看到这题的时候想DP,可是发现貌似不行..因为有前缀也有后缀,而且有的后缀会覆盖到现在的前缀,这就不满足无后效性了啊! 但是有个很巧妙的思路:如果我们知道a[i]的最大值,那么p的数量和q ...
- 《Programming WPF》翻译 第7章 5.可视化层编程
原文:<Programming WPF>翻译 第7章 5.可视化层编程 形状元素能提供一种便利的方式与图形一起工作,在一些情形中,添加表示绘图的元素到UI树中,可能是比它的价值更加麻烦.你 ...
- Hdu5785-Interesting(回文串处理)
Problem Description Alice get a string S. She thinks palindrome string is interesting. Now she wanna ...
- 关于qt学习的一点小记录(1)
今日为了应付学校作业要求 决定现学qt来制作界面 毕竟c++不像在这方面c#可以那么方便 qt主要依靠信号.槽来实现类似winform中的消息 鉴于要尽快做完,故而没有细看qt 只是大概了解了下界面的 ...