前言
??????? 重温一下perl中单复数的概念:标量代表单数;而列表与数组代表perl 中的复数。
???????? 定义:
?????????????????? 列表(list):指标量的有序集合。-------存储标量
?????????????????? 数组(array):存储列表的变量。--------存储变量
?????????????????? 以上二者均为有序集合,数组或列表中的每个元素都有相应的整数作为索引,此数字从0开始递增,每次加1。
????????? 注:列表和数组可以包含任意多个元素。最少可没有任何元素,最多能把可用的内存全部塞满。---遵循perl的“去除不必要限制”的原则。
1.数组
????????????????? 数组的赋值:
? ? ? ? ? ? ? ? ? ?? ?????? 数组元素是以连续的整数来编号,从0开始,之后依次加1。数组的赋值也是如此,自动扩充--”无限制“ 原则,依次连续。
???????????????????? ? ? ??? 如,$fred[0] = "aa";? $fred[1] = "bb";? $fred[10] = "gg";? 则数组fred 现总共有11个元素(保持连续,自动扩充),其他没有被赋值的数组元素用undef 填充。
?????????????????? 数组的引用:引用与上面的数组形式与上面类似。注意点如下:
??????????????????????????????? (1)对于引用下表超出数组的尾端,则对应的值将会值undef。
??????????????????????????????? (2)特殊的数组索引值:引用数组最后一个元素的值:$#bianlaing_ming?? 或$bianliang_ming[-1](即可尾端循环)。
2.列表
?????????? 列表直接量:圆括号表示,并用逗号分隔。对于数字列表,还可使用范围操作符:"..",该操作符会从左边的数字计数到右边,每次加1(不是数字的统一转换成数字),以产生一连串连续数字。如(1.7,..,5.7)则表示1,2,3,4,5五个元素的列表。
?????????? qw 简写:创建简单的单词列表。qw 表示quoted by whitspace(用空白圈引,单引号内空白分隔各单词(word))。它通过嵌入的空格作为分隔符抽取出一个个单词,形成列表。
?????????? 由第一章 可知,单引号中的字符均代表他们自身。Perl中还允许你使用任何标点符号作为定界符。常用的写法有:
????????????????????? qw!? fred barney betty wilma dino !
????????????????????? qw/? fred barney betty wilma dino /
????????????????????? qw#? fred barney betty wilma dino #
????????????????????? qw{? fred barney betty wilma dino }
????????????????????? qw[? fred barney betty wilma dino ]
????????????????????? qw<? fred barney betty wilma dino >
???????????? 以上语句均与qw(?fred barney betty wilma dino )等价。--这更符合perl的座右铭:办法不止一种(There's more than one way to do it)。
???????????? 关于qw的用法详细内容,可参考:http://perlmeme.org/howtos/perlfunc/qw_function.html ? ? ?? ????? 列表的赋值: ???????????? 有三种赋值形式: ???????????? (1){$fred,? $barney,$dino }= {"fil","rub","und"};-------? 一一对应 ???????????? (2){$fred,? $barney}={"fil","und"};---------左少右多,右边多出来的值将被忽略。 ???????????? (3){$fred,$dino }={"fil","rub"}-----左多又少,左边多出来的变量将被设成undef。 ????????????? 这里还有一个引用整个数组的方法:@shuzuming??? (@:可以读成“all of the”:全部的,所有的)。