用Perl制作CGI - 第1天

作者:Colin Ferm 98/11/25

第四页 变量、数组和联合数组

变量有三种类型:变量、数组和联合数组。变量可以
存储数字、字母和词组。变量以“$”开头。如果定
义变量$stuff,可以这样做:

一个词:$stuff="rules";

一个词组:$stuff="Colin Rules";

数字:$stuff=2;

可以对变量进行加和减的操作:

$stuff=2+2;

$stuff=4-2;

这样$stuff分别等于4和2。

变量赋值一直从左到右进行。2+2=$stuff是无效的。

数组变量是按数字序列存储若干变量的变量。变量数
目动态增加时数组下标相应增加。也可以收缩,但这
样会浪费时间。数组变量一般以@开头。当单独定义
其中的变量时,用$。

可以在数组中定义任意多的变量:

@stuff = ("1","2","ten","Colin Rules","Perl's for winners");

可以用下标定义数组中的变量,下标以0开始:$stuff[3]等于“Colin Rules”,$stuff[1]等于
“2”。内置变量$#stuff定义了数组中变量的数量。
例如数组@stuff中变量的数量为4(记住,从0开始计
数)。

可以一次定义数组中的一个变量:

$stuff[0] = "2000000";

注意:$stuff[0]、$stuff[30]与上面例子中的
$stuff无关。它们只是名字相同,它们不会冲突是因
为它们是不同类型的变量。一般来说,最好不要定义
相同名称的变量 - 在规则5中将有所阐述。

规则5:所有变量必须被直观地定义。$a当然比
$apple写得快,但是当你以后读代码时,你将不会知
道$a代表apple。

是什么就命名什么。变量名可以有四百万个字符长,
所以不用担心空间不够。但也别太长。在变量名中不
能用空格,但可以用下划线。例如,
$book_page_i_am_on比$bookpageiamon容易理解。

变量名中可以用的字符可以是任何大、小写字母。但
是别用!、@、#、$、%、^、&、*、(、)、~或任何其
它背离字母表的字符。如果在幼儿园时没学过,就不
要用。

最后一种变量类型是联合数组。联合数组用于存储相
互关联的信息。在联合数组中你不用记住里面包含什
么。联合数组以%开头,但是可以用$调用其中单独的
变量。可以象如下这样定义联合数组:

%stuff = ("sport","basketball","bike","trek","name","Don't remember",
"Age","Not old enough to drink");

数组中的一个值是它后面值的关键字。所以$stuff
{'sport'}是"basketball",$stuff{'name'}
是"don't remember"。可以这样一次定义一个变量:

$stuff{'girlfriend'} = "Looking. Any leads? Call me";

你现在已经了解这些变量了,为了应用变量,需要用
到操作符。

第一页 用Perl制作CGI - 第一天
第二页 基本规则
第三页 往下进行
第四页 变量、数组和联合数组





本文根据 网猴 相关文章改编,版权归原作者所有。