Archive::Cpio(3)

NAME
Archive::Cpio - module for manipulations of cpio archives

SYNOPSIS
    use Archive::Cpio;

    # simple example removing entry "foo"

    my $cpio = Archive::Cpio->new;
    $cpio->read($file);
    $cpio->remove('foo');
    $cio->write($file);

     # more complex example, filtering on the fly

    my $cpio = Archive::Cpio->new;
    $cpio->read_with_handler(\*STDIN,
                sub {
                    my ($e) = @_;
                    if ($e->name ne 'foo') {
                        $cpio->write_one(\*STDOUT, $e);
                    }
                });
    $cpio->write_trailer(\*STDOUT);

DESCRIPTION
Archive::Cpio provides a few functions to read and write cpio files.

  Archive::Cpio->new()
Create an object

  $cpio->read($filename)

  $cpio->read($filehandle)
Reads the cpio file

  $cpio->write($filename)

  $cpio->write($filehandle)
Writes the entries and the trailer

  $cpio->remove(@filenames)
Removes any entries with names matching any of the given filenames from the in-memory archive

  $cpio->get_files([ @filenames ])
Returns a list of "Archive::Cpio::File" (after a "$cpio-"read>)

  $cpio->get_file($filename)
Returns the "Archive::Cpio::File" matching "$filename< (after a "$cpio-"read")

  $cpio->add_data($filename, $data, $opthashref)
Takes a filename, a scalar full of data and optionally a reference to a hash with specific options.

Will add a file to the in-memory archive, with name $filename and content $data. Specific properties can be set using $opthashref.

  $cpio->read_with_handler($filehandle, $coderef)
Calls the handler function on each header. An "Archive::Cpio::File" is passed as a parameter

  $cpio->write_one($filehandle, $entry)
Writes a "Archive::Cpio::File" (beware, a valid cpio needs a trailer using "write_trailer")

  $cpio->write_trailer($filehandle)
Writes the trailer to finish the cpio file

AUTHOR
Pascal Rigaux <pixel@mandriva.com>