哈希是 key/value 对的集合。
Perl中哈希变量以百分号 (%) 标记开始。
创建哈希
创建哈希可以通过以下两种方式:
一、为每个 key 设置 value
$data{'google'} = 'google.com';
$data{'edualiyun'} = 'edualiyun.com';
$data{'taobao'} = 'taobao.com';
二、通过列表设置
列表中第一个元素为 key,第二个为 value。
#强制转换,%符号起类似解引用的作用,其实就是讲数组(python 中列表)强制按照hash 格式解析
%data = ('google', 'google.com', 'edualiyun', 'edualiyun.com', 'taobao', 'taobao.com');
使用 => 符号来设置 key/value:
经典的胖箭头 =>
%data = ('google'=>'google.com', 'edualiyun'=>'edualiyun.com', 'taobao'=>'taobao.com');
访问哈希元素
读取哈希的 key 和 value
读取所有key
%hash= ('google'=>'google.com', 'edualiyun'=>'edualiyun.com', 'taobao'=>'taobao.com');
print keys %hash;
相似的,返回所有哈希的所有 value 的数组
%hash= ('google'=>'google.com', 'edualiyun'=>'edualiyun.com', 'taobao'=>'taobao.com');
print values %hash;
检测元素是否存在
#!/usr/bin/perl
%data = ('google'=>'google.com', 'edualiyun'=>'edualiyun.com', 'taobao'=>'taobao.com');
if( exists($data{'facebook'} ) )
{
print "facebook 的网址为 $data{'facebook'} \n";
}else{
print "facebook 键不存在\n";
}
删除元素
%hash= ('google'=>'google.com', 'edualiyun'=>'edualiyun.com', 'taobao'=>'taobao.com');
delete $data{'taobao'};
print keys %hash;
网友评论