哈希是一组键值对,哈希变量以%
符号为前缀。让我们先举一个简单的例子,然后我们将详细讨论哈希。
#!/usr/bin/perl
%age = ('Chaitanya Singh', 29, 'Ajeet', 28, 'Lisa', 25);
print "\age{'Lisa'}:age{'Lisa'}\n";
print "\age{'Chaitanya Singh'}:age{'Chaitanya Singh'}\n";
print "\age{'Ajeet'}:age{'Ajeet'}\n";
输出:
$age{'Lisa'}: 25
$age{'Chaitanya Singh'}: 29
$age{'Ajeet'}: 28
在上面的例子中,我们创建了一个哈希并显示了它的元素。让我们详细了解每个部分:
创建哈希
第一种方法:这是我们在上面的例子中看到的:
%age = ('Chaitanya Singh', 29, 'Ajeet', 28, 'Lisa', 25);
这里'Chaitanya Singh'
是键 1,29 是值 1;'Ajeet'
是键 2,28 是值 2;类似'Lisa'
,25 是第三键值对。
第二种方法:这是创建哈希的首选方式,因为它提高了可读性。在这种方法中,我们用=>
符号分隔每对的键和值。
例如:
%age = ('Chaitanya Singh' => 29, 'Ajeet' => 28, 'Lisa' => 25);
有用的哈希函数
1)keys
函数:
keys
函数返回哈希中所有键的列表。
例:
#!/usr/bin/perl
%age = ('Chaitanya Singh' => 29, 'Ajeet' => 28, 'Lisa' => 25);
my @k = keys %age;
print "Keys: @k\n";
输出:
Keys: Ajeet Chaitanya Singh Lisa
2)values
函数:
values
函数返回散列中所有值的列表。
例:
#!/usr/bin/perl
%age = ('Chaitanya Singh' => 29, 'Ajeet' => 28, 'Lisa' => 25);
my @k = values %age;
print "Values: @k\n";
输出:
Values: 28 29 25
3)each
函数:
each
函数用于迭代哈希,它通常用于while
循环。
例:
#!/usr/bin/perl
%age = ('Chaitanya Singh' => 29, 'Ajeet' => 28, 'Lisa' => 25);
while ( (key,value) = each %age ) {
print "Key: key, Value:value\n";
}
输出:
Key: Lisa, Value: 25
Key: Chaitanya Singh, Value: 29
Key: Ajeet, Value: 28