GIDustin: true, that can't be good

course, bad things happen all the time in programming!
In C in Unix there are two system calls for doing reading and writing, funnily enough named read and write. They are very simple functions: they just read/write a buffer to disk. They don't for example, allow you to read just one line, you have to read n bytes.
Perl tries to make I/O alot easier by letting you read say a line at a time using <FILE>. This along with using the read and write and print functions in Perl is the 'normal' way to do I/O in Perl.
However, Perl goes try to give access to all the C Unix System Calls, and so it provides syswrite and sysread for the write and read system calls. The problem is, that syswrite and sysread will read/write 'raw' blocks of data to disk, while normal Perl I/O has to keep track of certain things that won't be kept track of if you use sysread/syswrite. For that reason, you should choose one method or the other to access a file: use syswrite/sysread and no other Perl file access function, or use the normal Perl file access functions and avoid syswrite/sysread.
The big advantage of syswrite/sysread is that they are 'atomic'. That is, if you do a syswrite, and someone else does a sysread of the same file at the same time, either your syswrite will complete and then their sysread will be done, or their sysread will comple and your syswrite will be done. It will never get half way through doing your syswrite, then do their sysread and then the rest of your syswrite. This is exactly what can happen with normal Perl I/O since it's not atomic.
And yes, I am probably alot better at doing this stuff than explaining it
-Sirp.