If NAME =~ /BAA/ if ITEMS_A =~ /^134/ if ITEMS_B =~ /^134/ THEN TBAA+=SUM a++; elsif ITEMS_B !~ /^(134|00)/ THEN OBAA+=SUM b++; elsif ITEMS_B =~ /^00/ THEN IBAA+=SUM ab++; else EBAA+=SUM c++; # AFAICS this will never be reached. # Either ITEMS_B starts wit 134 or 00 or something # else. The last case is targeted by your second # ITEMS_B-if