=item *
C<data> - When reading data, C<data> is a scalar containing the image
-file data, when writing, C<data> is a reference to the scalar to save
-the image file data too. For GIF images you will need C<giflib> 4 or
-higher, and you may need to patch C<giflib> to use this option for
-writing.
+file data, or a reference to such a scalar. When writing, C<data> is
+a reference to the scalar to save the image file data to.
my $data;
$image->write(data => \$data, type => 'tiff')
my @images = Imager->read_multi(data => $data)
or die Imager->errstr;
+ # from Imager 0.99
+ my @images = Imager->read_multi(data => \$data)
+ or die Imager->errstr;
+
=item *
C<callback>, C<readcb>, C<writecb>, C<seekcb>, C<closecb> - Imager
Create a new I/O layer based on a memory buffer.
-The supplied variable must not be changed during the life of the I/O
-object.
-
Buffer I/O layers are read only.
+C<$data> can either a simple octet string, or a reference to an octet
+string. If C<$data> contains characters with a code point above 0xFF
+an exception will be thrown.
+
=item new_cb($writecb, $readcb, $seekcb, $closecb)
Create a new I/O layer based on callbacks. See