http://www.perlmonks.org?node_id=947658

ZWcarp has asked for the wisdom of the Perl Monks concerning the following question:

First off I'm still a noob, so thanks for putting up with what is probably a dumb question. Can someone explain to me what is going on in this
push(@{$genes{$r[0]}{$r[1]}{$r[2]}},$r[3]);
I think it is a Hash of a Hash of a Hash of an Array, inputing data from different elements of the array @r. But why does the array reference go at the front like that, what is it doing and how does it alter the way I might .. say print things down the line? I tried to find reading material by googling for this but wasn't able to find anything in this exact format. Any information or links or whatever would be very helpful.