perl 纯变量,Scalar 转载

转载http://blog.chinaunix.net/uid-20639775-id-154591.html

Perl有三种变量:

  1. 纯变量(Scalar Varible)
  2. 数组(Array)
  3. 关联数组(Associative array)

一、纯变量

又称标量变量,是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响铃
\eEsc
\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"