sub get_output { my ($source,$pair) = @_; my @output = (); my %done = (); foreach my $pr (@{$pair}){ foreach my $sc (@{$source}){ next if ($pr <= $kn || $done{$sc}); push @output,$sc; $done{$sc} = 1; } } use Data::Dumper; print Dumper \@output; return @output; }