in reply to Windows CRLF confusion..

Actually, whether or not you are on Windows, you should use binmode where you mean it. This provides maximum portability. This is recommended in the docs. On more INTELligent systems, binmode is a null function. I find also, that it provides some info to the programmer afterwards who notices the line binmode and can safely assume that the file is not human-readable (at least, not usually).
AgentM Systems nor Nasca Enterprises nor Bone::Easy nor Macperl is responsible for the comments made by AgentM. Remember, you can build any logical system with NOR.