Perl中的数组操作

来源:互联网 发布:2015年火灾数据统计 编辑:程序博客网 时间:2024/05/16 09:19

Push

返回数组中的个数


pop

返回数组中被Pop出的数,最后一个


shift

返回数据中删除的数字,第一个


unshift

返回数组长度,从第一个添加

print join(':', unshift(@numbers,0,10));


Map

1.  会遍历整个数组,并对数组的每个值调用函数,例如

map uc,@word,

输出全大写

2.  $_ 表示数组的每一个值 ,例如

@word  = qw(a b c d e f g);

print  map{$_}@word 
等同于

print  @word

3. 如何获得数组的下标

print  map{$_} 0...$#word   这里 $#word 表示数组word最后一个元素的下标值。即g的下标=6

输出为 0123456

这里因为{}后面的是0...$#word,表示下标,所以$_也为下标, 如果是{}后面是@word,那么$_就是@word中的元素


4,   将数据转换为hash

%hash = map{$_+100,word[$_]}0...$#word

print join(':',%hash);

输出为1:a:2:b....6:g


如果print $hash{3};

输出为c

可以用于查找



5  利用map连续调用某一函数

@array = (0...9, a...z, A...Z);

print join('',map{$array[int(rand(@array))]}0...7);


rand - 生成随机数的函数

rand(@array)  - 这里的@array 返回数组的长度 = $#array+1  , rand(@array)返回一个小于数组长度的浮点数

int(rand(@array)) 转换为整型


map{$array[int(rand(@array))]}0...7   0...7表示执行8次,返回了一个由字母和数字组成的随机数













原创粉丝点击