學(xué)習(xí)筆記 Perl基本語法
本文和大家重點(diǎn)討論一下Perl基本語法,主要有標(biāo)量,數(shù)字,字符串等內(nèi)容,相信通過本文的學(xué)習(xí)你對(duì)Perl基本語法有一定的認(rèn)識(shí)。
Perl基本語法
最近在研究openSUSE的OBS(編譯系統(tǒng)),其中很多部分用到Perl。而且自己也感到有必要學(xué)點(diǎn)Perl,當(dāng)有一點(diǎn)其他程序語言的基礎(chǔ),再學(xué)一門語言,入門還是非常簡(jiǎn)單的。Perl在GNU/Linux上應(yīng)用如此廣泛,很多地方替換shell腳本會(huì)更靈活優(yōu)秀高效,學(xué)習(xí)它也很有必要。本文是學(xué)習(xí)時(shí)的筆記,多是語法使用示例,沒有什么說明。擬研究OBS時(shí),依據(jù)某個(gè)應(yīng)用再寫一篇Perl應(yīng)用教程。
標(biāo)量
標(biāo)量是Perl中最簡(jiǎn)單的數(shù)據(jù)類型。大多數(shù)的標(biāo)量是數(shù)字(如255或3.25e20)或者字符串(如hello或者蓋茨堡地址)。
數(shù)字
perl中所有數(shù)字內(nèi)部的格式都是雙精度浮點(diǎn)數(shù)。
Perl基本語法之浮點(diǎn)數(shù)
1.25
255.000
255.0
7.25e45#7.25x10的45次方(一個(gè)大整數(shù))
-6.5e24#-6.5x10的24次方(一個(gè)大的負(fù)數(shù))
-12e-24#--12x10的-24次方(很小的負(fù)數(shù))
-1.2E-23#指數(shù)符號(hào)可以大寫(E)
整數(shù)
0
2001
-40
255
61298040283768
其中61298040283768也可以寫作:
61_298_040_283_768
Perl基本語法之非十進(jìn)制整數(shù)
0377#八進(jìn)制數(shù)字377,等同于十進(jìn)制數(shù)字255
0xff#十六進(jìn)制數(shù)字FF,等同于十進(jìn)制數(shù)字255
0b11111111#等同于十進(jìn)制數(shù)字255
可以用下劃線表示:
0x1377_0B77
0x50_65_72_7C
數(shù)字操作符
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#通常是浮點(diǎn)除,3.33333......
Perl基本語法之字符串
◆單引號(hào)字符串
'fred'#四個(gè)字符:f,r,e,d
''#空字符(沒有字符)
'hello\n'
'\'\\'#單引號(hào)(')跟著反斜線(\)字符串
單引號(hào)中的"\n"不會(huì)被當(dāng)作換行符來處理。
◆雙引號(hào)字符串
"barney"#等同于'barney'
"helloworld\n"#helloworld,換行
Perl基本語法之字符串操作符
◆鏈接操作符"."
"hello"."world"#同于"helloworld"
"hello".''."world"#同于"helloworld"
'helloworld'."\n"#同于"helloworld\n"
◆重復(fù)操作符"x"
"fred"x3#"fredfredfred"
5x4#等于"5"x4,"5555"
數(shù)字和字符串之間的自動(dòng)轉(zhuǎn)換
大多數(shù)情況下,Perl將在需要的時(shí)候自動(dòng)在數(shù)字和字符串之間轉(zhuǎn)換。它怎樣知道什么時(shí)候需要字符串,什么時(shí)候需要數(shù)字呢?這完全依賴于標(biāo)量值之間的的操作符。如果操作符(如+)需要數(shù)字,Perl將把操作數(shù)當(dāng)作數(shù)字看待。如果操作符需要字符串(如.),Perl將把操作數(shù)當(dāng)作字符串看待。不必?fù)?dān)心數(shù)字和字符串的區(qū)別;使用恰當(dāng)?shù)牟僮鞣?Perl將為你做剩下的事。
"12"*"3"#*操作符需要數(shù)字,所以結(jié)果為36
"12fred34"*"3"#結(jié)果仍然是36,后面的非數(shù)字部分和前面的空格都過濾掉。
"Z".5*7#等于"Z".35,或"Z35"
【編輯推薦】