簡體   English   中英

Perl使用一系列鍵進行哈希處理

[英]Perl hashes with an array of keys

給定一個包含n個元素(n大於1)的數組,是否有一種優雅的方式來引用哈希結構中的元素,其中每個元素都是序列中的鍵?

例如:

my @foo = ('a','b','z');

鑒於此或類似的東西,我想訪問以下內容:

$hash->{'a'}->{'b'}->{'z'}

如果這是一個固定數量的元素,那將很簡單,但我不知道它在運行時會有多少(當然不會超過6或7,但不可能是不可思議的)。

我能想到的唯一模式都涉及循環和引用,看起來很笨拙。 有什么東西不占用半頁或需要Data :: Dumper,如果你有一個錯誤只是為了調試?

這就是Data :: Diver存在的原因:

#!/usr/bin/perl
use warnings;
use strict;

use Data::Diver qw{ Dive };

my $hash = { a => { b => { z => 'HERE' } } };

my @foo = qw( a b z );

print Dive($hash, @foo);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM