Depending on the Perl version, tie can be a memory leak. Since you're not actually using the benefits of Tie::File, why not just strip the headers when you create the file about 20 lines up? Or, am I missing something ...
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?