#Processing BlockAmendments while ($xmlBody =~ m/(]*>(.+?)<\/BlockAmendment>)/gi){ $CbBlkTx = $1; $bBlkTx = $CbBlkTx; if ($bBlkTx =~ m/(]+>(.*?)<\/P2><\/BlockAmendment>)/){ $bBlkTx =~ s/]+>(.*?)<\/P2><\/BlockAmendment>/\n$1<\/P2>\n<\/lq>/xgi; $bBlkTx =~ s/([^<]+)<\/Pnumber>(.+?)<\/Text>(.*?)<\/P2para><\/P2>/\n($1)<\/no>\n$2<\/pt>$3\n<\/s1>/xgi; $bBlkTx =~ s/([^<]+)<\/Pnumber>(.+?)<\/Text>(.*?)<\/P3para><\/P3>/\n($1)<\/no>\n$2<\/pt>$3\n<\/s2>/xgi; $bBlkTx =~ s/([^<]+)<\/Pnumber>(.+?)<\/Text>(.*?)<\/P4para><\/P4>/\n($1)<\/no>\n$2<\/pt>$3\n<\/s3>/xgi; $bBlkTx =~ s/([^<]+)<\/Pnumber>(.+?)<\/Text>(.*?)<\/P5para><\/P5>/\n($1)<\/no>\n$2<\/pt>$3\n<\/s4>/xgi; } $bBlkTx =~ s/<\/pt>\n<\/s([0-9])>(.+?)<\/Text>/ $2<\/pt><\/s$1>/xgi; print "$CbBlkTx\n\n=====>\n$bBlkTx\n\n"; $xmlBody =~ s/$CbBlkTx/$bBlkTx/gi; }