in reply to same script, different results

I for the test did that code,
works for me:
fileA: A AA ABC ADF BFD EFF ZFF ZZD fileB: exchangeA_groupA.gateway_risk=A 10 10 AA 10 10 ABC 10 10 ADF 10 10 EFF + 10 10 MMM 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeA_groupB.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeA_groupC.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeB_groupA.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeB_groupB.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeB_groupC.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeC_groupA.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 ZZD 10 10 exchangeC_groupB.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeC_groupC.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeD_groupA.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 RFD 10 10 ZFF 10 10 exchangeD_groupB.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 exchangeD_groupC.gateway_risk=A 10 10 AA 10 10 ABC 10 10 EFF 10 10 MMM + 10 10 NDB 10 10 RFD 10 10 ZFF 10 10 script: open IN, "<fileA" or die $!; %fileA = map {/$/; $` => 1} <IN>; close IN; open IN, "<fileB" or die $!; while($line = <IN>){ if($line=~m/(exchange[BC]_groupA)\.gateway_risk=/){ print "in line $1:\n"; $line = $'; foreach $key (keys %fileA){ print "\tnot found $key\n" if !($line=~s/$key//); } } } close IN; result: in line exchangeB_groupA: not found BFD not found ADF not found ZZD in line exchangeC_groupA: not found BFD not found ADF
now I'm gonna test your code. Will put update with the results.
UPDATE
result of your code on my machine:
Use of uninitialized value $sym8 in string eq at ./b.pl line 39, <DATA +> line 4. A exchangeB_groupA(ln4) not found A exchangeC_groupA(ln7) not found Use of uninitialized value $sym8 in string eq at ./b.pl line 39, <DATA +> line 40. ADF exchangeB_groupA(ln4) not found ADF exchangeC_groupA(ln7) not found Use of uninitialized value $sym8 in string eq at ./b.pl line 39, <DATA +> line 52. BFD exchangeB_groupA(ln4) not found BFD exchangeC_groupA(ln7) not found Use of uninitialized value $sym8 in string eq at ./b.pl line 39, <DATA +> line 88. ZZD exchangeB_groupA(ln4) not found
P.S. did you get the job?