use Data::Dumper; my %uniq; for my $file (@ar1) { my ($number,) = $file =~ /(\d+)/; $uniq{$number} = $file; } print Dumper \%uniq; my @values = values %uniq;