---
name: "Archive::Cpio"
section: "3pm"
platform: "linux"
package: "perl-archive-cpio"
version: "0.10-12"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Archive::Cpio"
---

# Archive::Cpio(3pm)

module for manipulations of cpio archives

## 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\>
