Unfortunately, this isn't completely portable. There are minor (as far as I can tell) problems with some operating systems where the size of a file on disk doesn't always match the size of data read into memory.
The big problems have to do with the great many types of filehandles where -s can't tell the file size.
But, yes, when it works, this is a neat trick. Thanks.