http://developer.51cto.com/art/201007/211617.htm
本文和大家重點討論一下Perl語言中Perl數字與字串間的自動轉換,這裡從七個方面向大家介紹,相信通過過本文的學習你對Perl數字與字串間的自動轉換有一定的瞭解。
Perl數字與字串間的自動轉換
Perl會根據需要,在數字與字串間進行自動轉換:
1、自動轉換是根據操作符來的。如果操作符需要數字,它就會把字串轉換成數字;如果需要字串,就會所數字轉換成字串。
"12"."3"等同於"123"
"12"*"3"等同於36
"z".5*3"等同於"z".15等同於"z15"
2、數字轉字串沒疑問
3、字串轉數字:
轉換時,找到字串第一個數字部分,然後後面的非數字部分和前面的去掉,比如"12adsfasdlkf34234fsd234"*3等同於12*3等於36。如果字串中不含有數字,則會轉換成0。
對於非十進位數,'0'首碼只對數字有效,對自動轉換是沒用的,如"0xab"*0x12並不會把前面的"0xab"當作十六進位數處理
4、Perl會記住轉換的結果,所以不必擔效率問題。
關於Perl的字串,應該記住的一些東西:
1、有Perl中,最短的字串是空串,最長的字串是填滿整個記憶體。
2、Perl中的字串可以包括任一字元,意味著你可以建立、遍曆、操作位元據
3、在Perl中,null並沒有特殊意義。
4、單引號字串
單引號代表字串的開始與結束
只有單引號'和反斜線\是特殊字元,其它所有字元都代表其本身,包括分行符號在內。換句話說,在單引號字串中,只有用到了單引號和反斜線時才需要轉義。比如在字串中你寫了\n,並不會當作分行符號處理,而只是兩個普通的字元\和n
對於\,只有它後面緊跟著\和'時,才會被當作特殊字元處理
5、雙引號字串
和我們熟悉的在其它語言中的字串一樣。\會被當作逸出字元處理。
它還有一個特有的特質:變數插入。就是當字串中含有一個變數名時,它會用變數值來代替它。
6、串連操作符.
比如:"Hello".''."World!"結果就是"HelloWorld!"
7、重複操作符x是一小寫字母。操作符左邊是一個字串,操作符右邊是一個數字,操作結果會把字串重複那個數位次數。如"hello"x5,操作結果就是"hellohellohellohellohello"
注意:當x右邊的數字是一個非整數時,將轉換為小於等於它的整數,比如4.8會轉換成4,而當這個數字小於1時,則會產生一個空串。