Perl中的数组操作

Push

返回数组中的个数


pop

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


shift

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


unshift

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

print join(':',unshift(@numbers,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次,返回了一个由字母和数字组成的随机

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...