Perl变量(1)--纯变量

王朝perl·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Perl有三种变量:

纯变量(Scalar Varible)

数组(Array)

关联数组(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

响铃

\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"

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航