# ... my $middle_rechts=0; my $middle_hoch=0; for my $id (keys(%g_WayNodes)) { $middle_rechts += $g_AllNodes{$id}->{rechtswert}; $middle_hoch += $g_AllNodes{$id}->{hochwert}; } my $middle_rechts /= keys(%g_WayNodes); my $middle_hoch /= keys(%g_WayNodes); # finde den nächsten: my $distance; my $shortest_id; for my $id (keys(%g_WayNodes)) { # da kannst du dir noch was besser passendes ausdenken.... my $dist_now = abs(middle_rechts - $g_AllNodes{$id}->{rechtswert}); $dist_now += abs(middle_hoch - $g_AllNodes{$id}->{hochswert}); if(!defined($distance) || $distance > $dist_now) { $shortest_id = id; $distance = $dist_now; } } print "Am nächsten zum Durchschitt: $shortest_id\n"; # ...