in reply to Nested Cycle?

My problem is, I don't know where to start.
You could start by changing the structure. You now have a hash, whose values are array(ref)s containing strings you have to split. Turn it into a 2 level hash:
{ name1 => {property1 => 8.8016, property2 => 4.5016, property3 => 4.0873, property4 => 7.0726, property5 => 9.5121,}, name2 => { ... }, name3 => { ... } };
You can then easily find your answer (untested):
my $word1 = "..."; my $word2 = "..."; my $data = { ... }; # Contains the data above my $sum = 0; foreach my $property (keys %{$$data {$word1}}) { $sum += $$data{$word1}{$property} if exists $$data{$word2}{$proper +ty}; }