1.哈希的键值对,可以用键值对全列表的方式,用逗号隔开,但是会发现键值对列表有时候会难以区分,要靠数数,所以更加清晰的做法是,用胖箭头=>来表示,键值对,左边是键。例如
my %last_name =(
fred => 'filinstone',
dino=>'undef',
);
哈希函数keys和values,在列表上下文中,分别可以得到整个哈希的键列表和值列表,
my @k = keys %hash,
在标量上下文中,这两个函数都会返回,哈希中元素(键值对)的个数。
需要迭代整个哈希的时候,用each函数,它以包含两个元素的列表的形式返回 键值对,
while(($key, $value)= each %hash){
print "$key => $value\n";
}
each %has会从哈希中返回一组键值对,就是含有两个元素的列表,
要检查哈希中是否存在某个键,使用exists 函数,它能返回真或假,分别表示键存在与否,和键对应的值无关。
if(exists $books{"dino"}){
print "Hey, there is a library card for dino\n";
}
delete函数,能从哈希中删除指定的键机器相对应的值,假如没有这样的键,会直接结束而不会出现任何警告或错误信息。
my $person = "betty";
delete $books{$person};