#!/usr/bin/perl use 5.014; # 972317 my @arr1 = ('C:\abc\def\zz456','C:\abc\xyz\ab123','C:\abb\bba\ac234','C:\abc\xyz\ab321'); my @arr2 = qw/ab123 ac234 ad456 ab321/; # no match for C:\abc\def\zz456 my $dir_entry; my @arr3 = grep { $dir_entry = $_; not grep { $dir_entry =~ /\Q$_/i } @arr2 } @arr1; say "Following is/are dir entry/entries (in \$arr1) without matching items in \@arr2"; say each(@arr3);