#!/usr/bin/perl -w use strict; my @values = ( 15, 49, 51, 79, ); my $pos = 50; my $diff; my @results; for my $value (@values) { if (not defined $diff or abs($pos - $value) < $diff) { $diff = abs($pos - $value); @results = $value; } elsif (abs($pos - $value) == $diff) { push @results, $value; } } print join "\n", @results;