在perl中过滤散列哈希
发布时间:2020-12-15 22:00:10 所属栏目:大数据 来源:网络整理
导读:我有一个哈希哈希,我需要过滤.我确实找到了如何进行查找,但它没有回答我的问题. 假设我有一个像这样的散列哈希: my %HoH = ( flintstones = { husband = "fred",pal = "barney",town = "springfield" },jetsons = { husband = "george",wife = "jane","his
我有一个哈希哈希,我需要过滤.我确实找到了如何进行查找,但它没有回答我的问题.
假设我有一个像这样的散列哈希: my %HoH = ( flintstones => { husband => "fred",pal => "barney",town => "springfield" },jetsons => { husband => "george",wife => "jane","his boy" => "elroy",},simpsons => { husband => "homer",wife => "marge",kid => "bart",town => "springfield",); 我想说我想要所有来自斯普林菲尔德的城镇居民.我想在输出中使用相同的哈希哈希,而不需要局外人. my %HoH = ( flintstones => { husband => "fred",); 它似乎很傻但无法弄清楚如何过滤结构.目标是在过滤后迭代所有的斯普林菲尔德人. 我当然做了一些研究,我最接近的是哈希切片. 解决方法
首先需要找到要删除的元素的键:
grep { $HoH{$_}{town} eq 'springfield' } keys(%HoH) 然后你删除它们: delete $HoH{$_} for grep { $HoH{$_}{town} eq 'springfield' } keys(%HoH); 或者使用哈希切片: delete @HoH{ grep { $HoH{$_}{town} eq 'springfield' } keys(%HoH) }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |