Perl - 如何使用元素数组作为键创建动态多级哈希
Perl - how to create dynamic multi level hash using array of elements as keys
我喜欢通过使用存储元素的数组来创建多级散列以形成多级键。示例:
@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
是一个 lvalue subroutine(可以分配给),它会在可以时自动激活。
我喜欢通过使用存储元素的数组来创建多级散列以形成多级键。示例:
@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
是一个 lvalue subroutine(可以分配给),它会在可以时自动激活。