I find Perl's data structures very useful but often get into a tangle with them. The main reason I had a go at the OP's question was to see if I could fathom it out. I was so pleased when I actually got something to work I couldn't resist the urge to show off!
I must now confess that I dereferenced it in stages first using temps. This is what I usually do myself if only so that I can still understand it the following day.
++ to you for being helpful rather than trying to be clever. My bad!