Perl 哈希表 % 赋值373


在 Perl 中,哈希表(也称为关联数组)是一种数据结构,它存储键值对。键通常为字符串,而值可以是任何数据类型。

要为哈希表分配值,可以使用以下语法:```perl
$hash_name{$key} = $value;
```

其中:
* `$hash_name` 是哈希表的名称。
* `$key` 是要分配给值的键。
* `$value` 是要分配给键的值。

例如,要创建一个名为 `my_hash` 的哈希表并将键 `name` 分配给值 `"John Doe"`,可以编写以下代码:```perl
my %my_hash;
$my_hash{'name'} = "John Doe";
```

也可以使用散列符号(=>)将键值对分配给哈希表,如下所示:```perl
my %my_hash = (
'name' => "John Doe",
'age' => 30,
'city' => "New York",
);
```

这两种赋值方式等效。但是,在声明哈希表本身时使用散列符号更简洁。

获取哈希表值

要获取哈希表中的值,可以使用以下语法:```perl
$value = $hash_name{$key};
```

其中:
* `$hash_name` 是哈希表的名称。
* `$key` 是要获取其值的键。

例如,要获取 `my_hash` 中 `name` 键的值,可以编写以下代码:```perl
my $name = $my_hash{'name'};
```

如果哈希表中不存在指定的键,则将返回 `undef`。

删除哈希表键值对

要从哈希表中删除键值对,可以使用 `delete` 函数,如下所示:```perl
delete $hash_name{$key};
```

其中:
* `$hash_name` 是哈希表的名称。
* `$key` 是要删除的键。

例如,要从 `my_hash` 中删除 `name` 键值对,可以编写以下代码:```perl
delete $my_hash{'name'};
```

哈希表遍历

可以使用 `each` 函数遍历哈希表中的键值对,如下所示:```perl
foreach my $key (keys %hash_name) {
my $value = $hash_name{$key};
# 对键值对执行操作
}
```

其中:
* `%hash_name` 是哈希表的名称。

`keys` 函数返回哈希表中所有键的数组。`foreach` 循环遍历此数组,并为每个键设置 `$key` 变量。`$value` 变量包含与 `$key` 关联的值。

示例

以下示例展示了如何使用哈希表存储用户信息:```perl
my %user_info = (
'name' => "John Doe",
'age' => 30,
'city' => "New York",
);
print "User name: $user_info{'name'}";
print "User age: $user_info{'age'}";
print "User city: $user_info{'city'}";
delete $user_info{'city'};
foreach my $key (keys %user_info) {
my $value = $user_info{$key};
print "$key: $value";
}
```

输出结果为:```
User name: John Doe
User age: 30
User city: New York
name: John Doe
age: 30
```

2025-01-20


上一篇:Perl中的load()函数:加载Perl模块的简单指南

下一篇:揭秘Perl语言中的“水母”:正则表达式