A while (<FH>) { ... } block implicitely tests for eof. Are you trying to avoid the <FH> construct (which reads line-by-line, unless you've undefined $/ as mentioned by another poster), such as with binary files?
There are also the very standard and documented built-ins: read and sysread. These will read an arbitrary amount of data from a file.
Comment on Re: How else can I read from a file without using a while loop, testing for the EOF?