UPDATE!
I fixed it finally. What happened was that after the first three Regex search and replaces, the <Bz8> was technically right next to the text following it, but as it was in the @FILE array still, and they were in different nodes in the array, they were being treated separately. I fixed it by printing @FILE out to a "working" file, reading it back in to @FILE so that the line breaks were now updated in the array, and then doing the final Regex search and replace. There's probably an easier way, but being relatively new to Perl and having been out of the programming loop for quite some time now, I was just happy to get it working. Thanks for all the help, folks!