全部博文(368)
分类: LINUX
2010-09-06 16:29:43
关联数组和前面说的数组类似,它包含标量数据,可用索引值来单独选择这些数据,和数组不同的是,
关联数组的索引值不是非负的整数而是任意的标量。这些标量称为Keys,可以在以后用于检索数组中的数值。
关联数组的元素没有特定的顺序,你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值。
关联数组是Perl语言中特有的,关联数组是一个功能强大的数组。使用关联数组时要在前面加上%号,关联数组的格式如:
%ARRAY=(key1,value1,key2,value2,key3,value3);
每一个key都有一个相对应的值(value)。
和数组类似,$zmd,@zmd,%zmd之间没有任何联系。Perl为对象的不同类型保留独立的命名空间。
下面介绍关联数组的操作:
关联数组的综合举例:
%fred=(one,"zmd",two,"cxm"); $a=$fred{one}; | #$a等于"zmd" |
$b=$fred{two}; | #$b等于"cxm" |
$fred{two}="yes"; | #%fred=(one,"zmd",two,"yes") |
@number=keys(%fred); | #@list=(one,two) |
@user=values(%fred); | #@user=("zmd","cxm") |
($number,$name)=echo(%fred); | #此时$number的值为one,$name的值为"zmd",再执行一次$number为值为two,$name的值为"cxm") |
@a=%fred; | #将关联数组fred指定给数组a,这时@a=(one,"zmd",two,"cxm") |
%b=@a; | #将数组a指定给关联数组b,这时%b=(one,"zmd",two,"cxm") |
delete $fred{one}; | #将关联数组中key值为one的一对key-value删除,这时%fred=(two,"cxm") |
%name=(); | #把%name关联数组置空 |