If I'm understanding this correctly, you need to increment the value in the second sub array based on the value found in the corresponding position on the first sub array. If so, this is probably a little over-thinking it, but it should work:
my @data = (
["1.6","2.2","3.4","3.6","5.4","6.2","7.1", "8.1", "9.0"],
[ 1, 2, 5, 6, 3, 15, 4, 3, 4],
[ sort { $a <=> $b } (1, 2, 5, 6, 3, 15, 4, 3, 4) ]
);
print join(", ", @{$data[1]}), "\n";
map { $data[1]->[$_]++ if $data[0]->[$_] =~ /3.4/ } 0..$#{$data[0]};
print join(", ", @{$data[1]}), "\n";
--(0)> perl test.pl
1, 2, 5, 6, 3, 15, 4, 3, 4
1, 2, 6, 6, 3, 15, 4, 3, 4
|