#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Tie::ListKeyedHash; my %example; tie (%example, 'Tie::ListKeyedHash'); %example = ( 'a' => { 'b0' => { 'c' => 'value of c', 'd' => 'value of d', 'e' => { 'f' => 'value of f', }, }, 'b1' => { 'g' => 'value of g', }, }, 'h' => 'r', ); my $b_key = ['a','b0']; my $d_key = [@$b_key,'d']; my $d = $example{$d_key}; print "d = $d\n"; my $e_key = [@$b_key, 'e']; my $e = $example{$e_key}; print 'e = ' . Dumper ($e); my $f_key = [@$b_key, 'e','f']; my $f = $example{$f_key}; print "f = $f\n"; my $h_key = ['h']; my $h = $example{$h_key}; print "h = $h\n";