Stream::Buffered is a buffer class to store arbitrary length of byte
strings and then get a seekable filehandle once everything is
buffered.  It uses PerlIO and/or temporary file to save the buffer
depending on the length of the size.

Homepage:
https://metacpan.org/release/Stream-Buffered
