標量
陣列陣列是標量資料的有序列表,是多個標量資料的一種集合。
可以包含任意多個元素,從0到全部佔滿記憶體。
以@符號作為標識。
(1,2,3)
##包含1,2,3三個數字的列表
(1,2,3)
##三個數字,最後逗號被省略
(「test」,4.5)
##兩個值
()##空列表:零個元素
(1…5)
##代表(1,2,3,4,5)
(5…1)
##空列表,從左到右,往上加
(0,2…6,10)
##代表(0,2,3,4,5,6,10)
($m…$n)
##兩個標量值之間累加產生的數字
引用乘冪運算子:**
取餘運算子:%
單目運算子:-
運算子的省略形式:+=,-=,*=,/=,**=,%=
比較運算子
數字比較運算子:<>, ==, <=, >=, !=, <=>(返回1,0,-1)
字串比較運算子:
gt大於
ge大於等於
lt小於
le小於等於
eq等於
ne不等於
cmp比較,返回1,0,-1
邏輯運算子
位運算子
賦值運算子:=
連續賦值,從右到左賦值
自增自減運算子:++,–
字串也可以自增自減,字串中的數字為十進位制,字母為26進製
字串連線和重複運算子
逗號運算子
逗號運算子可以提高程式的可讀性,其前面的表示式先行運算
$var1 += 1, $var2 = $var1
等價於:
$var1 += 1;
$var2 = $var1;
條件運算子:條件?值1:值2
控制結構
正規表示式
unicode屬性
\p標識匹配不包含屬性部分
\p同不匹配不一樣
模式分組
正規表示式種的元字元
元字元是一種特殊符號
起通配作用
在它們前面加上反斜槓(\),這些元字元就會失去其特殊含義
元字元的優先順序
當模式中含有多種元字元時,根據優先順序順序來判斷匹配量
元字元屬性
示例圓括號(分組或者捕獲)
(…),(?:…),(abc)
量詞a*,a+,a?,a
錯位和序列
abc,^,$,\a,\b,\z,\z
擇一豎線|原子
a,[abc],\d,\1
正規表示式的形式
同匹配操作符一起,用來判斷是否匹配後面的字串
匹配表示式中,括號部分的匹配項用$錶號表示
匹配上,返回值為1,否則為0
選項描述g$test
="china"
;$target
=*ina
;$test=~
m/$target/
##該表示式返回值為1
忽略所有可能的模式
i忽略大小寫
m將串視為多行
s將串視為單行
x忽略模式中的空白
模式替換
替換操作,返回值為布林量
形式為:
s//s??
選項描述
g忽略所有可能的模式
i忽略大小寫
m將串視為多行
s將串視為單行
x忽略模式中的空白
e替換字串作為表示式
模式轉化
同模式替換類似,可以彌補模式替換的不足
形式為:
tr//
tr??
將string1中的字元依次、逐個替換為string2的字元
返回值為替換的字元數
正規表示式的原則
Perl 學習筆記
在linux上,如果遇到這樣的提示 can t locate module datetime.pm in inc 意味著perl模組沒有安裝全,可以用cpan來安裝缺失的模組 perl mcpan e install module build 如果系統上很多模組都已經很舊了,用這個命令來自動更新 u...
perl 學習筆記
perl 語法 一 資料結構 標量 陣列 雜湊 0 八進位制 0x 十六進製制 注釋 二 字串 1 字元鏈結 2 單引號內字元不會被轉義 3 v字元 乙個以 v 開頭,後面跟著乙個或多個用句點分隔的整數,會被當作乙個字串文字。foo v102.111.111 4 here 文件 print 5 特殊...
Perl學習筆記
第2章 perl有兩種型別,數字和字串 2.1 數字 所有數字最後都轉換為雙精度浮點數。使用ieee 754的格式。計算中可以方便使用乘方,其格式為 x y。比如,2 3,表示2的3次方 2.2 字串 最強大的!1 最短的字串不含任何字元 最長的字串可以填滿整個記憶體。2 沒有nul字元 特殊字元需...