my $pat = join '|', @dates; my @files = grep /$pat/, @logfiles; #### my @files; foreach my $file( @logfiles ) { foreach my $date( @dates ) { if ( $file =~ /$date/ ) { push @files, $file; last; } } }