perl的哈希



哈希:以键值对的形式存储,无序。

访问哈希元素:
$hash{$some_key}
例:
$family_name{'fred'} = 'flintston';
$family_name{'barney'} = 'rubble';
foreach my $person (qw){
    print "I'veheard of $person $family_name{$person.\n"}"
}

键也可以是任意的表达式,最后都会变为字符串形式。
哈希元素因赋值而诞生,给已有元素赋值会覆盖之前的值。

访问某个哈希: %hash
例:
�milay_name
哈希和列表可以转换,但顺序不一定是什么。但无论在列表中还是输出,都是键/值输出。

哈希赋值:
my %new_hash = %old_hash; ——一般赋值
my %inverse_hash = reverse %any_hash;—— 键值互换
my %name = (
   f red => 'flintston',
    barney =>'rubble',
    wilma =>'flintston',
);
—— 列表赋值
胖箭头(=>): 可以代替逗号,所以在产生哈希时可以部分用=>代替,方便看, 还可以省略键的引号。

哈希函数:
    @k = keys %hash;返回哈希的键列表
    @v = values %hash;返回哈希的键列表
   $count = keys%hash; 返回键值对
   each %hash以列表形式返回键值对,调用一次就返回下一组值,直到所有都返回过,返回空。
例:
while(($key,$value) = each %hash){
}
    exists$hash{"key"}; 检查是否存在键
    delete$hash{"key"}; 删除制定的键与值,没有不提醒。
   %ENV哈希


对键排序的输出方法:
    foreach $key (sort keys %hash){
       $value = $hash{$key};
   }


你可能感兴趣的:(Perl)