Hi-- My CPAN ID is BTROTT. I'd like to contribute the following module to CPAN: Name DSLI Description Info --------------------------------------------------------------- IO::Buffer bdp0 Read/write string buffering class. BTROTT IO::Buffer is used within Net::SSH::Perl to manage string buffers in packets sent between client and server. It has general purpose applicability, so I thought it might be useful to others. Below you'll find some of the POD. bye, Benjamin Trott =head1 NAME IO::Buffer - Read/write buffer class =head1 SYNOPSIS use IO::Buffer; my $buffer = IO::Buffer->new; ## Add a 32-bit integer. $buffer->put_int32(10932930); ## Get it back. my $int = $buffer->get_int32; =head1 DESCRIPTION I<IO::Buffer> implements a low-level binary buffer in which you can get and put integers, strings, and other data. Internally the implementation is based on C<pack> and C<unpack>, such that I<IO::Buffer> is really a layer on top of those built-in functions. All of the I<get_*> and I<put_*> methods respect the internal offset state in the buffer object. This means that, for example, if you call I<get_int16> twice in a row, you can be ensured that you'll get the next two 16-bit integers in the buffer. You don't need to worry about the number of bytes a certain piece of data takes up, for example.