I suppose it would be easiest if the type of structure is an array. In fact, it is approximately 700 rows and 10 columns of data.
Not at all. Let your data tell you how it wants to be arranged and accessed. If, as you've implied by your original post, the data wants to be a tree, let it be a tree.
In Perl, this can be expressed in various ways. ikegami uses an array called branches at each node and that makes a lot of sense. In his/her code, each branch is an object reference but it could also have been a reference to a hash.