本文和大家重点讨论一下Perl基本语法,主要有标量,数字,字符串等内容,相信通过本文的学习你对Perl基本语法有一定的认识。
Perl基本语法
最近在研究openSUSE的OBS(编译系统),其中很多部分用到Perl。而且自己也感到有必要学点Perl,当有一点其他程序语言的基础,再学一门语言,入门还是非常简单的。Perl在GNU/Linux上应用如此广泛,很多地方替换shell脚本会更灵活优秀高效,学习它也很有必要。本文是学习时的笔记,多是语法使用示例,没有什么说明。拟研究OBS时,依据某个应用再写一篇Perl应用教程。
标量
标量是Perl中最简单的数据类型。大多数的标量是数字(如255或3.25e20)或者字符串(如hello或者盖茨堡地址)。
数字
perl中所有数字内部的格式都是双精度浮点数。
Perl基本语法之浮点数
1.25
255.000
255.0
7.25e45#7.25x10的45次方(一个大整数)
-6.5e24#-6.5x10的24次方(一个大的负数)
-12e-24#--12x10的-24次方(很小的负数)
-1.2E-23#指数符号可以大写(E)
整数
0
2001
-40
255
61298040283768
其中61298040283768也可以写作:
61_298_040_283_768
Perl基本语法之非十进制整数
0377#八进制数字377,等同于十进制数字255
0xff#十六进制数字FF,等同于十进制数字255
0b11111111#等同于十进制数字255
可以用下划线表示:
0x1377_0B77
0x50_65_72_7C
数字操作符
2+3#2+3,5
5.1-2.4#5.1-2.4,2.7
3*12#3*12,36
14/2#14/2,7
10.2/0.3#10.2/0.3,34
10/3#通常是浮点除,3.33333......
Perl基本语法之字符串
◆单引号字符串
'fred'#四个字符:f,r,e,d
''#空字符(没有字符)
'hello\n'
'\'\\'#单引号(')跟着反斜线(\)字符串
单引号中的"\n"不会被当作换行符来处理。
◆双引号字符串
"barney"#等同于'barney'
"helloworld\n"#helloworld,换行
Perl基本语法之字符串操作符
◆链接操作符"."
"hello"."world"#同于"helloworld"
"hello".''."world"#同于"helloworld"
'helloworld'."\n"#同于"helloworld\n"
◆重复操作符"x"
"fred"x3#"fredfredfred"
5x4#等于"5"x4,"5555"
数字和字符串之间的自动转换
大多数情况下,Perl将在需要的时候自动在数字和字符串之间转换。它怎样知道什么时候需要字符串,什么时候需要数字呢?这完全依赖于标量值之间的的操作符。如果操作符(如+)需要数字,Perl将把操作数当作数字看待。如果操作符需要字符串(如.),Perl将把操作数当作字符串看待。不必担心数字和字符串的区别;使用恰当的操作符,Perl将为你做剩下的事。
"12"*"3"#*操作符需要数字,所以结果为36
"12fred34"*"3"#结果仍然是36,后面的非数字部分和前面的空格都过滤掉。
"Z".5*7#等于"Z".35,或"Z35"
【编辑推荐】