Perl學習筆記

2021-10-21 12:05:38 字數 1939 閱讀 2558

標量

陣列陣列是標量資料的有序列表,是多個標量資料的一種集合。

可以包含任意多個元素,從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

$test

="china"

;$target

=*ina

;$test=~

m/$target/

##該表示式返回值為1

選項描述g

忽略所有可能的模式

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字元 特殊字元需...