sub PerformCheck { my @TableOfValues = ([109.339632149156, 71.2834467120181, 30.1753590325019], [19.4394053917863, 56.1546989166037, 99.2312925170068], [97.2249937011842, 96.7168052406148, 99.9543965734442], [35.6661627614009, 112.246157722348, 33.4111866969010], [141.426303854875, 50.0745779793399, 53.4378936759889], [71.9997480473671, 17.6830435878055, 73.3968253968254], [80.3456790123457, 80.1315192743764, 24.8614260519022]); my @ObjValues = @_; my $CurrValue = 195076; my $objType = 0; for my $i (0..$#TableOfValues) { my $diff = (); for my $i2 (0..2) { $diff += ($ObjValues[$i2] - ${$TableOfValues[$i]}[$i2]) ** 2; } if ($diff < $CurrValue) { $CurrValue = $diff; $objType = $i + 1; } } return $objType; }