第2章:
Perl有两种类型,数字和字符串
2.1 数字
所有数字最后都转换为双精度浮点数。
使用IEEE-754的格式。
计算中可以方便使用乘方,其格式为:x**y。比如,2**3,表示2的3次方
2.2 字符串
最强大的!
(1) 最短的字符串不含任何字符;最长的字符串可以填满整个内存。
(2) 没有NUL字符
特殊字符需要前面加“\”(反斜线)
2.2.1 单引号字符串
与Delphi相像!
2.2.2 双引号字符串
符号 |
含义 |
\n |
换行 |
\r |
回车 |
\t |
制表符 |
\f |
formfeed |
\b |
退格 |
\a |
响铃 |
\e |
Escape (ASCII 中的escape符号) |
\007 |
任何八进制(这里是,007=bell(响铃)) |
\x7f |
任何十六进制值(这里是, 007=bell) |
\cC |
一个控制符(这里是,ctrl+c) |
\\ |
反斜线 |
\’’ |
双引号 |
\l |
下个字符小写 |
\L |
接着的字符下写直到\E |
\u |
下个字符大写 |
\U |
接着的字符均大写直到\E |
\Q |
在non-word字符前加上\,直到\E |
\E |
结束\L, \E 和\Q |
2.2.3 字符串操作符
(1) “.” 是连接两个字符串
(2) 字符串重复操作符
由写在字符串后面的“x”和“正整数”表示。
比如,”fred”x(2+1)#表示”fredfredfred”
2.2.4 数字和字符串之间的自动转换
两个字符串中间使用数字操作符(+,-, *, /, %)表示进行计算操作。
两个字符串中间使用连接符(.)表示进行连接操作。
2.3 Perl内嵌的警告(warnings)
(1) perl低版本(v5.6之前)警告
#! /usr/bin/perl -w
(2) perl高版本(v5.6之后)警告
a. 简单警告
#! /usr/bin/perl
use warnings;
b. 详尽警告
#! /usr/bin/perl
use diagnostics;
2.4 标量变量
由“$”打头的一串字符
2.5 print输出
(1)字符串中标量变量的内插
a. 单引号
$myStr2 = ‘world’;
$myStr1 = “hello,$myStr2”; #$myStr1 现在是”hello,$myStr2”
b. 双引号
$myStr2 = “world”
$myStr1 = “hello, $myStr2”; #$myStr1 现在是”hello, world”
c. 使用“{}”
#! /usr/bin/perl -w
$what = "brontosaurus steak";
$n = 3;
print "fred ate $n ${what}s\n";
(2) 操作符优先级和结合性
同c语言
(3) 比较运算符
数字之间比较和c一样
比较关系 |
数字 |
字符串 |
相等 |
== |
eq |
不等 |
!= |
ne |
小于 |
< |
lt |
大于 |
> |
gt |
小于或等于 |
<= |
le |
大于或等于 |
>= |
ge |
2.6 if控制结构
同c语言
(1)Boolean值
a. 数字
0为false;
b. 字符串
空串(‘’)为false;
2.7 用户输入
行输入操作符(line-inputoperator)
<STDIN>
由换行符结束(return)
2.8 chomp操作
去除字符串结尾换行符
例如,
chomp($text = <STDIN>); #读入用户输入的一串字符,然后去掉换行符,赋值给$text
2.9 while控制结构
同c语言
2.10 undef值
未初始化的变量。
a. 数字
为0
b. 字符串
为空串
2.11 defined函数
检查undef。
如果返回undef为false;