while($file=~m/<\?CLG\.MDFO[^>]+?ID="O(.+?)"[^>]+?IDREF="C(.+?)"[^>]+?>(.+?)<\?CLG\.MDFC[^>]+?ID="C\1"[^>]+?IDREF="O\2"[^>]+?>/msgi) { my $mdfomdfc=$&; my $ln = line($`); if($mdfomdfc=~m/<\?CLG\.MDFO[^>]+>\n?<([A-Z.]+)[ ]?.+?>\n?(.+?)\n?<\/(\1)>\n?(<\?.+?\?>)?\n?<\?CLG\.MDFC[^>]+>/msgi) { my $stag = $1; my $etag = $3; if($stag ne $etag) {print FOUT "
$path: Warning: ".$warn++.": Line: $ln \ Check: MDFO tag is placed before <$stag tag, the MDFC tag should close after the same <$stag tag.
";} } }