perl 学习笔记一

回复 收藏
标量可以是数字也可以是字符串。

perl内部并不存在整数值,程序中用到的整数变量也会被转换成等值的浮点数值。

浮点变量举例
1.25
255.000
255.0
7.25e45  #7.25乘以10的45次方
-12e-24  # 负12乘以10的负24次方

整数变量举例
0
1984
-123

非十进制整数变量
0377  # 八进制的377,转换成十进制即255
0xFF   # 十六进制的FF(可以是小写的f),转换成十进制即255
0b11111111  #二进制数,转换成十进制也是255
说明:在perl中,不管你写成255 还是0377还是0xFF,都代表同一个数。

数字操作符  +  -  *  /  以及 %(求余)

单引号与双引号内的变量
单引号内的变量就是纯粹的字符串,没有任何意义。而双引号内的变量一些特殊符号不会失效。
'hello\n'  #表示 hello\n ,这里的\n是换行符,有特殊含义,但在单引号内失效;
"hello\n" # 值就是hello,其中\n代表换行符。
2010-11-15 08:56 举报
已邀请:
0

阿铭 管理员

赞同来自:

双引号内,一些特殊字符
\n  换行;
\r   回车;
\t   水平制表符;
\f   换页符;
\b  退格;
\\  反斜杠;
\"  双引号;
\l   将下个字符转换为小写;
\L  将到\E为止的所有字符转换为小写;
\U  将到\E为止的所有字符转换为大写;
\u  将下个字符转换为大写;
\E  结束\L,\U

字符串可以用. (英文输入法句号)来连接
如:$a = "hello" , $b = "world",  那么$a.$b 就是"helloworld"

对于字符串来讲,小写字母x有着特殊的意义。一般格式是这样的  "hello“ x 3  ,左边是字符串,右边是一个数字。它的意思是,把hello这个字符串重复打印3次。注意了,如果左边是数字,perl会默认为是字符串的,如: 5 x 4 这个值并不是20,而是5555.

在perl中,变量赋值是不需要考虑啥类型的,比如你用. 或者 x ,perl会认为变量就是字符串,即使你写的一个数字。而当用+ - * / %时,perl会认为变量是数字,即使你给出的是一个字母或者一个字符串,perl也会自动转换成数字。有一点要说的是,一个字符串中,如果全是字母perl会转换成0;如果一个字符串中既有数字又有非数字并且以数字开头,那么perl会取字符串中最开头部分的数字的值,举个例子
"12world12" * 3  // 其值是12*3=36,这种情况是以数字开头的,另外的
"helo12" *3  // 其值是0,perl不会自动取到后边的数字

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: