#!/usr/bin/perl use warnings; use strict; use Data::Dumper; my @array1 = qw(234 453 111 239); my @array2 = qw(v204_txt v234_txt v450_txt v453_txt); my $pat = join '|', map quotemeta, @array1; my @array3 = grep /$pat/, @array2; print Dumper(\@array3); __END__ $VAR1 = [ 'v234_txt', 'v453_txt' ];