in reply to testing for numerical equality

You can't really distinguish @nums which round to the same. If you need to tell them apart, don't round them. Ignoring that problem, you can construct a hash of short_nums to nums,

my %unround; @unround{@short_nums} = @nums; my @new_array = map {$unround{$_}} grep {exists $unround{$_}} @found;
That construction makes the last occurence of nearly equal @nums be returned.

After Compline,
Zaxo