ARRAY $VAR1 = [ 'server=bar116aix,bar117aix:FS=/tmp', 'server=cvmfsser1, cvmfsser2:FS=/opt/apps', 'server=cvmfsser3::FS=/opt/apps' 'FS=/bar/cut/data03:NO', 'server=baraix665, baraix666, baraix667:FS=/data/hp/feeds', 'server=vmdprd:FS=/opt/tuxedo', 'server=testserver1:FS=/data/repository' ]; #### FILE :::: vmaprd::/opt/vmaprd/application::intel vmclprd::/opt/vmclprd/apps/oracle::db_support vmdprd::/opt/vmdprd/db2::db_support cvmfsser1::/opt/apps/::app_support cvmfsser3::/opt/apps/::app_support d87ser1::/opt/db2ese::db_support aix5server::/bar/cut/data03::aix_sup linuxvm001::/bar/cut/data04::linux_sup #### 'server=bar116aix,bar117aix:FS=/tmp', NO MATCH 'server=cvmfsser1, cvmfsser2:FS=/opt/apps', PART MATCH 'server=cvmfsser3::FS=/opt/apps' MATCH 'FS=/bar/cut/data03:NO', MATCH 'server=baraix665:FS=/data/hp/feeds', NO MATCH 'server=vmdprd:FS=/opt/tuxedo', PART MATCH 'server=testserver1:FS=/data/repository' NO MATCH #### #OPEN FILE open(FH,"<$fs") || die ("cannot open file"); while () { ($host,$cfg,$sup) = split /::/,$_; $cfg =~ s/\*//g; push @FS,$cfg}; #LOOP THROUGH ARRAY and look for MATCH foreach my $item (@config){ print "$item\n"; foreach my $item2 (@FS){ if ($item =~ /$item2/){ print "MATCH = $item ------> $item2\n";} } }