That should be:
seek HANDLE, $desired_size -1, 0;
The second argument to
seek is the number of bytes to move the position by, while the third argument is a number indicating where to start. 0 seeks from the beginning of the file, 1 seeks from the current location in the file, and 2 seeks from the end of the file.