关联数组(类似hash表或者json)
为了解决普通数组的局限性----当数组很大的时候遍历起来就会很困难。perl
提供了一种新的数组关联数组。他的定义区别于普通数组以%打头,区别于普通数组的是
他的下标可以是任何值这样以来他的下标就可以没有任何顺序。
例如 %array1=(key1,value1,key2,value2,key3,value3);
其结果是 $array1{key1}=value1,其中key1可以为任何值数字,字串变量等。可以看出关联数组的个数为偶数。
perl为了能更好把下标和值区分开来采用=〉方式,array1就可以改变成如下形式
%array1=(key1=>value1,key2=>value2,key3=>value3);
关联数组的赋值与普通数组和列表相似。
为了更好的理解关联数组引入下面这一段话:
你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值。
关联数组的操作函数
1。keys(%array)操作符可生成由关联数组%array中的所有当前关键字组成的列表。即
返回奇数个元素(第1,3,5,7...个)的列表。
2。values(%array)操作符返回由关联数组%array中所有当前值组成的列表,即返回偶
数个列表。
3。echo(%array)操作符返回由一个关键字和一个值对构成的两个元素的表。对同一数组再操作时返回下一对值直至结束。若没有更多的对时,echo()返回空表。
4。delete $ARRAY{key};delete 是 Perl 所提供的函数,作用是删除关联数组中的一个key以及这个 key 所对应的 value。使用方法是 在delete 函数之后,指定关联数组中要删除的key名称。
5。 exists (element)在Perl5中定义,判断关联数组中是否存在某元素,若存在,返回非零值(真),否则返回零值(假)。 |