转载http://blog.chinaunix.net/uid-20639775-id-154591.html
Perl有三种变量:
又称标量变量,是Perl处理的最简单的数据类型。标量可以是数字(如2,3或2.5e6), 也可以是字符串(如“hello”和“网上学园”)。
Perl中的标量变量以美元符号$和一个字母开始,以后可以是字母、数字和下划线,大小写有区别,而且所有字母、数字和下划线都有效。如:
$a和$A是不同的变量;
$this_is_a_long_variable_1和
$this_is_a_long_variable_2是不同的变量;
Perl中的变量可以通过操作符(如+或.等)来产生新的变量。你可以从文件和设备中读取变量,也可以将其输出。
使用纯量变量时要在前面加上$符号, 注意:指定的纯变量是一个字符的话,就要加上""双引号或单引号;如果是数值的话,就不用加上""这个符号。
标量数据又可以分为数字和字符串两种:
数字
可分为整型变量和浮点变量。
整型变量:(如2,-200,3568等)。Perl支持8进制和16进制变量,8进制以0开头(如0255,表示8进制的255),16进制以0x或0X开头
(如-0x1a,代表负的1A)
实型变量:(如2.5,-6.3e5,-2.3-e6等)。
字符串
最短的字符串可以没字符,最长可以把你的内存填满,这与Perl的“无内置限制”的原则一致。
字符串有两种格式:单引字符串和双引字符串。
单引字符串(single-quoted string):
就是用单引号括起来的一串字符。该单引字符串不是字符串的一部分。
引号中可以插入任何字符。只有两种情况例外,一种是中间插入单引号,并在前面有一反斜杠;一种是字符串有两个连着的反斜杠。
双引字符串(double-quoted string):
就是用双引号括起来的一串字符,其作用类似于C语言。
双引字符串中反斜杠转义表
结 构 | 含 义 |
\n | 换行 |
\r | 回车 |
\t | 水平置表符 |
\f | 换页符 |
\b | 退格 |
\v | 垂直置表符 |
\a | 响铃 |
\e | Esc |
\007 | 任一八进制ASCII值(这里007表示bell) |
\x7f | 任一十六进制ASCII值 |
\cC | 任一“控制”字符 |
\\ | 反斜杠 |
\" | 双引号 |
\l | 下一字母小写 |
\L | 以后所有字母小写直到\E |
\u | 下一字母大写 |
\U | 以后所有字母大写直到\E |
\E | 结束\L和\U |
标量变量的运算符
1、赋值运算符
如:$a=23; #将23赋值给$a
$b=$a=23; #将23赋值给$a和$b
$b=3+($a=2); #将2赋值给$a,再加3将值赋给$b,即$b为5
2、二元赋值运算符
如:$a=+3; #等同于$a=$a+3
这与C语言中基本相同。
3、自增自减运算符
如:$a++; #等同于$a=$a+1
这与C语言中基本相同。
4、chop()运算符
如:$a="hello";
chop($a); #此时$a的值为"hell"。
这对于从屏幕获取文本后去除换行符很有用。
如:$a=; #获取文本
chop($a); #去除最后的换行符。
这两行可合并为:
chop($a=);
5、字符串的标量插入值
如:$a="zmd";
$b="hello! $a";
$b的值为"hello! zmd"。
综合示例
$url1='hello'; | #将hello这串字符赋给$url1变量; |
$url2='don\'t'; | #将don't这串字符赋给$url2变量; |
$url3='hello\n'; | #将hello\n这串字符赋给$url3变量;注意\n不被当作换行符而是\和n两个字符; |
$url1="http://zmd.zb169.net"; | #将http://zmd.zb169.net这串字符赋给$url1变量; |
$url2="/cgi-bin/"; | #将/cgi-bin/这个字符赋给$url2变量; |
$url3=$url1.$url2; | #将两个变量的字符串连起, $url3="http://zmd.zb169.net/cgi-bin/"; |
$int=5; | #将10赋给$int变量; |
$int=5+6; | #$int=11; |
$int=5*6; | #$int=30; |
$int=5;$int++; | #$int=6; |
$int=5;$int+=8; | #$int=13; |
$a="\Uzmd";$b="\u\LZHENG";$c="$a $b" | #$a="ZMD"; $b="Zheng"; $c="ZMD Zheng" |