perl - Perl - 如何使用元素数组作为键创建动态多级哈希
问题描述
我喜欢通过使用存储元素的数组来创建多级哈希以形成多级键。例子:
@elements = ('level1','level2','level3');
并想要这样的东西:
$hashdata{level1}{level2}{level3} = 'store anything i want';
有什么可以轻松做到这一点的吗?包裹?
谢谢
解决方案
一个最著名的工具可能是Data::Diver
use warnings;
use strict;
use Data::Dump qw(dd);
use Data::Diver qw(DiveVal);
my @elems = qw(lev1 lev2 lev3);
my %hash;
DiveVal(\%hash, @elems) = "value";
dd \%hash;
这DiveVal
是一个左值子例程(可以分配给),并且在可以时自动激活。
推荐阅读
- android - 为什么android studio不显示代码错误所在的行?
- sql - 使用 group by 取消嵌套多个列
- c++ - NDK 编译器找不到“对”模板
- sas - 如何解决sas中未声明的数组引用错误?
- spring-tool-suite - 如何修复 sts 4 application.properties 内容辅助
- google-sheets - 如何从导入的表中删除不必要的列
- docker - traefik+docker-compose 无法获取让我们加密子域的证书
- cmake - cmake 如何找到我的 llvm cmake 配置?
- android - Chrome 移动渐进式网络应用在离线时返回错误
- android - 没有互联网时,Firebase 抛出 FirebaseException 而不是 FirebaseNetworkException