( $dir, $file ) = m/(.*)[\\\/](.+)/ ? ( $1, $2 ) : ( undef, $_ ); # print "$file is in the directory $dir\n"; $fileinfo[$i] = [$file, $dir]; #### $refarray1 = $fileinfo[$c]; if (${$refarray1}[0] eq $intersect) { print "File: ${$refarray1}[0] in directory ${$refarray1}[1]\n"; $matchedfiles[$i] = [${$refarray1}[0], ${$refarray1}[1]]; } #### $matchedfiles[$i++] = [${$refarray1}[0], ${$refarray1}[1]]; #### my %md5_of_known_bad; foreach $md5data (@knownbad) { ... $md5_known_bad{$filename} = $md5hash; } #### if (exists $md5_of_known_bad{$filename}) { # $filename is a known bad } #### my @uniq; @uniq = grep { exists $md5_of_known_bad{$_} } @sysfiles;