Perl語言入門--2--變量與字符串

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的切掉

 

 

foreach (@array) { s/a/b/; } # 此處每次循環將從 @array 數組中取出一個元素存放在 $_ 變量中,並對 $_ 進行替換處理。
while (<FILE>) { print if (m/error/); } # 這一句稍微複雜一些,他將打印 FILE 文件中全部包含 error 字符串的行。
相關文章
相關標籤/搜索