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时,则会产生一个空串。