in reply to
Re^2: UTF-8 text files with Byte Order Mark
in thread UTF-8 text files with Byte Order Mark
a BOM in a utf-8 file *are* valid
"!" in an ASCII file is also valid. But if you place a "!" at the start of your Perl program, it probably will not compile. It is a malformed file, not from a UNICODE perspective, but from your parser's perspective.
I provided two alternatives (removing the BOM and File::BOM) that will work with your broken tools (i.e. tools that add undesirable character to the files you edit). I'd go with them since allowing the BOM is surely a good thing.