1、$數組
簡單變量:$ 以$開頭+字母或下劃線函數
區分大小寫,變量長度不限,沒有關鍵字,但不能和默認變量重複this
一、整數的表示:spa
12索引
12e2 #1200內存
-12 #-12字符串
1_200_000 #perl可使用下劃線當作分隔符 數字仍是1200000,但方便看數學
012 #八進制數,值爲10string
0x1f #十六進制,值爲31 f不分大小寫it
二、浮點數
11.4
0.3
.3
3.
5.4e2 e或E,+或-,e後面最多一到三位數字
三、注意
整數:最多15位 ,16位後截斷
浮點數的精度:指數範圍:-309~308 過小的話顯示成0,太大顯示爲1.#INF
2、字符串變量
1.變量替換
$var ="str";
print "this is $var" ; -> '' this is str"
perl遵循最長匹配,當$var 和 $varing 都存在時,print "varing" ,匹配$varing 不匹配$var
想匹配$var須要這樣:${var}ing sh中$(ls)
2.轉義字符
3. \ 的做用
做用:轉義字符
取消字符含義:
取消$的變量標識 print "the \$var is $var \n";
取消雙引號" print "A quote \" in a string \n";
取消反斜槓\ print "A quote \\ in a string \n";
\nnn (n表示數字) 八進制表示的 ACSII碼 print "\045";
\xnn (n表示數字) 十六進制表示的 ACSII碼 print "\x45";
4.單引號
不進行變量替換
不進行轉義
字符創能夠換行 ‘sadas
esdadad ’
\的做用:
有單引號時取消其含義
有\時 取消含義
五、字符串的特殊表示
qq(string in qq) #兩個q表示雙引號 ,也就是這個 - ->"string in q"
q(string in q) #一個q表示單引號 ,也就是這個 - ->‘string in q’
好處就是若是字符串裏面有單引號、雙引號的話,不用加反斜線註釋掉
()可換爲<>,{},[]等配對字符 可出現這樣的狀況:[string [in] q] [string <in> q] 也是能夠的
也能夠這樣: qq/string in q/ qq;string in q;
六、變量初值
未建立狀態爲undef,到達文件尾也是undef
用法:
說明變量爲未定義:undef $a;
用在條件判斷中:if(undef $a)
代替不關心的變量:$a="a:b:c:d"; ($a1,undef,undef,$d1)=split(/:/,$s); #這樣稍微會省些內存
若是有undef變量又不知在哪,可加-w參數進行提示: #!/usr/bin/perl -w
要是建立了,則建立後狀態爲defined 通常用在條件判斷中 if(defined $a)
整數初值爲0,字符串初值爲空串""。
七、相關函數
length()串長度,數字位數
三角函數sin,數學函數sqrt,隨機產生函數rand,srand
uc lc ucfrist lcfrist 大小寫
substr index pos 字符串索引、位置
轉換函數 ord,chr,pack,unpack
$lastchar=chop(str) 截去最後一個字符,不管什麼字符
$result=chomp(str) 截去末尾的行分割符(\n),行分割符可由$/定義。好比 $/="ab" 把末尾是ab的切掉