#!/usr/bin/perl use strict; use warnings; open (NUMBERS, '<', "numbers.txt") or die "Unable to open numbers.txt for reading : $!"; open (NAMES, '<', "names.txt") or die "Unable to open names.txt for reading : $!"; my %numbers = map {chomp; $_ => 1} ; my %names = map {chomp; split /\t/ , $_ , 2} ; for my $name ( keys %names ) { my $names_number = $names{$name}; for my $number ( keys %numbers ) { my $delta = abs $number - $names_number; if ( $delta <= .5 ) { print "$name : $names_number is within range of $number\n"; last; } } }