关联数组
定义: 可以用任意简单变量值来访问其元素,这种数组叫做关联数组,也叫哈希表。
访问关联数组的元素
关联数组的下标可以为任何简单/标量值,访问单个元素时以$符号打头,下标用大括号(“{}”)围起来。如:print "$hash{'a'}\n"
;
>增加数组
$fruit{"bananas"} = 1;#把1赋给关联数组%fruit下标为banansa的元素;如果该元素不存在,则会被创建,如果已经存在,则其值被改变;如果数组%fruit从未使用过,也被创建
>删除元素
delete ($fruit{"lime"}); # delete函数是删除关联数组元素的唯一方法
>从数组变量复制到关联元素
%fruit = @fruit; #数组变量赋给关联数组
@fruit = %fruit; #关联数组赋给数组变量
>列出数组的索引和值
keys()返回关联数组的下标列表
@fruits = keys(%fruits);
values()返回关联数组值的列表@fruits = values(%fruits);
each()函数返回一个双元素的列表,其第一个元素为下标,第二个元素为相应的值,最后返回一个空列表
如:
%records = ("song",24,"ni",26,"ting",28); while (($name,$age) = each(%records)){ print "$name = $age\n"; }