Perl Hash
散列是一组键-值对。Perl存储散列的元素,以便根据其键值来搜索这些值。哈希变量以”%”符号开始。
Perl要求散列的键必须是字符串,而值可以是任何标量。这些值可以是数字、字符串或引用。如果使用非字符串的值作为键,则会产生一个意外的结果。
一个哈希键必须是唯一的。如果一个新的键值对被添加到散列中,而该键是存在的,那么它的对应值将被覆盖。
创建哈希值
有许多方法来初始化哈希变量,如下所示。
- 如下图所示,直接赋值,并将数据添加到现有的哈希值中。
- 另一种方法是使用列表,通过采取单独的对来转换为哈希。对中的第一个元素被用作键,而第二个元素被用作值。
- 一种方法是用 **= > **来表示键/值对,如下所示。
- 另一种做同样事情的方法如下所示。这里所有的键前面都有连字符(-),所以不需要在它们周围加引号。只有当单词中没有空格时,才能用这种方法建立哈希。
访问哈希元素
要访问哈希中的单个元素,变量的前缀是美元符号($),然后在变量名称后面的大括号中附加元素的键。
下面的例子说明了上面解释的创建哈希的所有方法。
例子:
输出
提取键和值
有时需要提取散列的键和值,以便对其进行各种操作。像元素的修改、删除、添加等操作。哈希允许使用内置的函数来提取这些键和值。
使用 keys 函数可以从哈希中获取所有键的列表。
语法: keys %HASH
返回HASH中存在的所有键的数组。
例子
输出
同样, values 函数用于获取所有值的列表。
语法: values %HASH
返回一个包含HASH所有值的数组。
例子
输出