As mentioned by Transient, you would take a reference to the second array and use it as the value of the hash, keyed by the values of the first hash:
use strict;
use warnings;
my @Property = qw(FolderProperty1 FolderProperty2 FolderProperty3);
my %O_P = ( 'FolderObject' => \@Property );
Then whenever you wanted to refer to the properties, you would have to dereference, like this:
my $second_property = $O_P{'FolderObject'}->[1];
If @Object and @Property are prepopulated with a large number of values, you need to figure out how to take the right slices from @Property to assign the right values to each @Object (maybe they all have the same number of properties?).
As mentioned, this assumes that the keys in @Object are unique -- you'll overwrite part of your hash if there are duplicate entries in @Object.
Update: Ah, I see you are parsing XML. As mentioned by davidrw, you may not need to re-invent the wheel, here. :)
No good deed goes unpunished. -- (attributed to) Oscar Wilde
|