NAME
File::Format::RIFF::Chunk - a single RIFF chunk
SYNOPSIS
use File::Format::RIFF;
my ( $chunk ) = new File::Format::RIFF::Chunk;
$chunk->id( 'stuf' );
$chunk->data( 'here is some stuff' );
... some $container ...
$container->push( $chunk );
DESCRIPTION
A File::Format::RIFF::Chunk
is a single chunk of data in a RIFF file. It has an identifier and one piece of scalar data. The id must be a four character code, and the data can be any piece of scalar data you wish to store, in any format (it is treated as opaque binary data, so you must interpret it yourself).
CONSTRUCTOR
- $chunk = new File::Format::RIFF::Chunk( $id, $data );
-
Creates a new File::Format::RIFF::Chunk object.
$id
is a four character code that identifies the type of data. If$id
is not specified, it defaults to' '
(four spaces).$data
is a scalar, treated as opaque binary data. If$data
isundef
or not specified, it defaults to ''.
METHODS
- $id = $chunk->id;
-
Returns the id of
$chunk
. - $chunk->id( 'abcd' );
-
Sets the id of
$chunk
.$id
must be a four character code that identifies the type of data. - $data = $chunk->data;
-
Returns the data of
$chunk
. - $chunk->data( $data );
-
Sets the data of
$chunk
.$data
is treated as a piece of opaque binary data, not modified or interpreted in any way. - $size = $chunk->size;
-
Returns the size (in bytes) of
$chunk
's data. - $total_size = $chunk->total_size;
-
Returns the total size (in bytes) that
$chunk
will take up when written out to a file. Total size is the size of the data, plus 8 bytes for the header, plus 1 alignment byte if the data has an odd number of bytes (so that the RIFF chunks will be word-aligned on disk). - $chunk->dump( $max );
-
Prints a string representation of
$chunk
to STDOUT. If the data is larger than$max
bytes, prints '[...]' instead of the actual data. If$max
is not specified orundef
, it defaults to 64.A RIFF chunk is rendered as:
id: <id> size: <size> (<total size>): <data>
AUTHOR
Paul Sturm <sturm@branewave.com>