No problem Akino877!
The way perl overcomes this is through "references", you
can use a
reference to an array or hash, or even an array of hashes or hash of arrays as a value for a hash, here's an example:
To make a reference you simply use the slash like so:
my @array = ('Jon', 'James', "jimmy', 'Julie');
my $array_ref = \@array;
Now $array_ref is a scalar value that points to the memory allocation spot of the array named @array.
Or you can just make a reference initially with the square brackets:
my $array = ['Jon', 'James', 'jimmy', 'Julie'];
Then
my %hash = ( one => $array, two => $array2, etc... );
To make a reference to an anonymous hash you can use the "{" like so:
my $hash_ref = { one => $array_ref, two => $array_ref2, etc..};
You access these references with the special arrow operator:
$hash->{one}->[1] would equal "James".
Data structures can be very complicated and deep in Perl, but it's all accomplished through references, there are really only 4 types of values in perl; scalar, hash, array, or TYPEGLOB.
There's WAY to much about this to include here, but that should give you some terms to Google with ;-)
Here is a great place to start:
http://perldoc.perl.org/perlref.html
Happy coding...