perl - 如何从perl中的哈希数组中获取键值
问题描述
我的代码:
my @emp_details = [
{
CID => '21',
ID => '1',
ORDERING => '1',
PID => '143'
},
{
CID => '22',
ID => '2',
ORDERING => '1',
PID => '67'
}
];
预期输出:所有键的值 - ID,即:
[1,2]
即需要同时获取the emp_details
列表中的哈希值并从每个 ID 中获取值。
在perl中怎么做?
我的试验:
my %hash =
map {$_->{ID} } @departments;
错误:Not a HASH reference
我试过了map {$_->{ID} } %departments;
在这种情况下也没有任何回应。
解决方案
你真的有my @emp_details = [ ... ];
吗?[]
构造一个数组并返回对它的引用,这意味着@emp_details
将填充单个元素(对数组的引用)。
我将假设您有以下内容:
my @emp_details = (
{
CID => '21',
ID => '1',
ORDERING => '1',
PID => '143'
},
{
CID => '22',
ID => '2',
ORDERING => '1',
PID => '67'
}
);
好吧,您尝试的第一个问题是数组名为@emp_details
,而不是@departments
。
您尝试的第二个问题是您将 id 列表分配给哈希,这没有意义。
固定的:
my @ids = map { $_->{ID} } @emp_details;
推荐阅读
- css - 带有掩码的 SVG 作为 HTML 元素的背景图像
- javascript - 在 NPM 中加载非缩小依赖项
- python - Bert 句子转换器在微调期间停止/退出
- java - 将 arraylist 中的特定元素移动到最后一个索引
- java - 在另一个片段中打开列表的片段按钮
- linux - Linux Centos Selenium Chromedriver 错误:ChromeDriver 假设 Chrome 已崩溃
- r - 提取 R 中多个不变自变量的系数和 p 值列表
- r - 在 R 中将多个数据集与多个工作表绑定
- c++ - 是否可以使用 C++17 内联成员强制跨 TU 的全局变量的初始化顺序?
- r - 为ggplot中的同类变量分配相似的颜色