Perl-列表与数组

上一篇 / 下一篇  2015-01-02 20:12:39 / 个人分类:Perl

Perl 标量代表的是单数,列表和数组代表的是复数
列表指的是标量的有序集合,而数组则是存储列表的变量。列表指的是数据,数组指的是变量。
列表的值不一定要放在数组里,但每个数组变量都一定包含一个列表。
数组或列表中的每个元素都是单独的标量变量,拥有独立的标量值,这些值是有序的。从起始元素到终
止元素的先后次序是固定的。数组或列表中的每个元素都有相应的整数作为索引,从0开始,每次加1
列表或数组中每个元素都是独立不相关的标量值,所以列表或数组中可能包含数字,字符串,undef值或
不同类型标量值得混合。数组或列表可以包含任意多个元素,最少的情况是没有任何元素,最多的情况则是把可用的内存全部塞满。
数组的名字空间和标量的名字空间完全分开,可以在同一个程序中取$x和@x.
如果对索引值超过数组尾端的元素进行赋值,数组将会根据需要自动扩大。
数组中最后一个元素的索引值为$@X.
..范围操作符,该操作符会从左边的数字技术到右边,每次加1。
qw 表示quoted word,加上引号的单词,Perl将其当成单引号内的字符串来处理,在qw构建的列表中,不
能像双引号内的字符串一样使用\n或@X.不能将注释放在qw列表中。Perl允许用任何标点符号作为qw的定
界符,如果起始定界符是某种左字符,那么结尾定界符必须是对应的右字符。可以使用\在qw中进行转义。
对列表进行赋值时,多出来的值挥别忽略掉,如果变量的个数多过给定的列表值得个数,多出来的变量
会被设为undef.
可以用@引用整个数组。
pop负责取出数组中最后一个元素并将其作为返回值返回。pop常用来删除数组中的最后一个元素。如果
数组是空的,pop什么也不做,直接返回undef.
Push用于添加一个元素或是一串元素到数组的尾端。
Push的第一个参数和pop的唯一参数都必须是要操作的数组变量。
shift 负责取出数组中第一个元素并将其作为返回值返回,shift可以删除数组中的第一个元素。如果过
是空数组,shift直接返回undef.
unshift用于添加一个元素用于添加一个元素或一串元素到数组的开始。
Splice用来添加或移除数组中间的某些元素,最多可接受4个参数,最后两个是可选参数,第一个参数是
要操作的目标数组,第二个参数是要操作的一组元素的开始位置,第三个参数指定要操作的元素长度,
第四个参数是要替换的列表。如果没有后两个参数,则从给定位置开始一直到数组末尾的全部元素取出
来并返回。第四个参数用来替换或补充新元素到数组中。当第三个元素为0时,可以直接添加新元素给列
表。

数组的内容可以被内插到双引号中,内插时,会在数组的各个元素之间自动添加分隔用的空格。数组被
内插时,首位都不会添额外空格。内插数组中的某个元素时,会被替换成该元素的值。
foreach循环能逐项遍历列表中的值,依次迭代。foreach中控制变量并不是列表元素的复制品,实际上
是列表元素本身,如果循环中修改了控制变量的值,就同时修改了这个列表元素。循环结束后,控制变
量会恢复为循环执行之前的值。
$_ 默认变量
reserve 读取列表的值并按相反的次序返回该列表,但它并不会修改传进来的参数。
Perl总是会先计算等号右边要赋的值,再实际进行复制操作。
Sort读取列表的值,根据内部的字符编码顺序对他们进行排序。
each 对数组调用each,会返回数组中下一个元素所对应的两个值,该元素的索引和该元素的值。
标量上下文和列表上下文
同一个表达式出现在不同的地方会有不同的意义。可以使用伪函数scalar强制切换到标量上下文。
在标量上下文中会返回输入数据的下一行,在列表上下文中,则会返回所有剩下的行,直到文件结尾为止。
发送文件结尾标记
Unix Control+D
DOS/Windows Control +Z
chomp 会去掉所有的换行符。


TAG:

 

评分:0

我来说两句

Open Toolbar