The other monks who have responded in this thread have already answered your question. Just my 2 cents...arrays and hashes are collections of scalars. Therefore, to create a multi tiered data structure, you need to put either an annonymous (hash|array), or a reference to a (hash|array). Both of the aforementioned "things" can be contained in scalars, and thus are candidates for entry into a hash or an array. Hope this helps.