in reply to 'seek' on a FileHandle.pm object

I would look into using getpos() and setpos() for doing what you want.

From the docs:
If the C functions fgetpos() and fsetpos() are available, then `FileHandle::getpos' returns an opaque value that represents the current position of the FileHandle, and `FileHandle::setpos' uses that value to return to a previously visited position.

/twerq