use strict;
use warnings;
my $w1 = 'name1';
my $w2 = 'name2';
my $hash = {
'name1' => [
'property1,8.8016',
'property2,4.5016',
'property3,4.0873',
'property4,7.0726',
'property5,9.5121'
],
'name2' => [
'property6,5.6217',
'property2,4.7993',
'property7,4.2885',
'property3,11.1250'
],
'name3' => [
'property8,5.6217',
'property2,4.7993',
'property1,4.2885',
'property9,11.1250'
]
};
my %sums;
for (@{$hash->{$w2}}) {
@_ = split /,/;
$sums{$_[0]} = $_[1];
}
for (@{$hash->{$w1}}) {
@_ = split /,/;
print "$_[0] = $_[1] + $sums{$_[0]} = " . ($_[1] + $sums{$_[0]}) .
+ "\n"
if $sums{$_[0]};
}