I'm getting confused on data types, especially on complex data types with a references.
Precisely the same question had come to my mind after I confused myself with some random thinking on the subject.
Check
Question about Perl refs and basic types
All ye, repeat after me: There are only three data types in Perl - scalars, arrays and hashes - no more, no less.
To the Perl enthusiast, like me, it take a bit of time to memorize all data combinations in Perl.
Figuratively speaking, there could be infinite combinations. e.g. Arrays of hashes of arrays of hashes of arrays of arrays :)
I would rather treat "data types" and "data structures" as two different subjects.