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


一、$

簡單變量:$          以$開頭+字母或下划線

         區分大小寫,變量長度不限,沒有關鍵字,但不能和默認變量重復

1、整數的表示:

12

12e2  #1200

-12   #-12

1_200_000     #perl可以使用下划線當做分隔符 數字還是1200000,但方便看

012           #八進制數,值為10

0x1f           #十六進制,值為31   f不分大小寫

 

2、浮點數

11.4

0.3

.3

3.

5.4e2    e或E,+或-,e后面最多一到三位數字

 

3、注意

整數:最多15位 ,16位后截斷

浮點數的精度:指數范圍:-309~308 太小的話顯示成0,太大顯示為1.#INF

 

二、字符串變量

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  ’

\的作用:

  有單引號時取消其含義

  有\時  取消含義

 

5、字符串的特殊表示

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;

 

6、變量初值

未創建狀態為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,字符串初值為空串""。

 

7、相關函數

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 字符串的行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM