sub find_min { my ($ctime, @list) = @_; my @best; foreach my $item (@list) { my $diff = abs($ctime - $item); # First time through the loop unless (@best) { @best = ($item, $diff); next; } if ($diff < $best[1]) { @best = ($item, $diff); next; } } return $best[0]; }