in reply to Hash of Hash of Array Syntax help
I find it helps to add a little white space and remove the "extra" set of () that aren't required for push:
push @{$genes{$r[0]}{$r[1]}{$r[2]}}, $r[3];
genes must be a hash because it's being accessed using{} and it contains a series of nested hashes because there is a chain of {}{}: {$r[0]}{$r[1]}{$r[2]}. r is an array which you can tell because it's being accessed using []. The @{} wrapper around the genes access turns an array reference into an array (that's what the @ is about).
So the whole thing pushes the fourth element of @r into an array stored in a hash stored in a hash stored in %genes.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Hash of Hash of Array Syntax help
by ZWcarp (Beadle) on Jan 12, 2012 at 23:16 UTC |