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時,則會產生一個空串。