やはり上手く行きませんでしたonz

%hash = (
a => 'あああ',
b => [
  { c => 'いいい' },
  { d => [
    { e => 'ううう' }
  ] }
);

このようにハッシュのvalueに幾度(無限に)も配列のリファレンスがネストしてあるとき、どのようにすれば下層部のハッシュ(上記の場合e => 'ううう')が取り出せるのでしょうか?