NAME

Archive::SevenZip::API::ArchiveZip - Archive::Zip compatibility API

SYNOPSIS

my $ar = Archive::SevenZip->archiveZipApi(
    find => 1,
    archivename => $archivename,
    verbose => $verbose,
);

This module implements just enough of the Archive::Zip API to pass some of the Archive::Zip test files. Ideally you can use this API to enable a script that uses Archive::Zip to also read other archive files supported by 7z.

$ar->numberOfMembers

my $count = $az->numberOfMembers();

$az->memberNamed

my $entry = $az->memberNamed('hello_world.txt');
print $entry->fileName, "\n";

$ar->replaceMember

$ar->replaceMember('backup.txt', 'new-backup.txt');

Replaces the member in the archive. This is just delete then add.

I clearly don't understand the utility of this method. It clearly does not update the content of one file with the content of another file, as the name of the new file can be different.

CAUTION

This module tries to mimic the API of Archive::Zip.

Differences between Archive::Zip and Archive::SevenZip

7-Zip does not guarantee the order of entries within an archive

The Archive::Zip test suite assumes that items added later to an archive will appear later in the directory listing. 7-zip makes no such guarantee.

REPOSITORY

The public repository of this module is https://github.com/Corion/archive-sevenzip.

SUPPORT

The public support forum of this module is https://perlmonks.org/.

BUG TRACKER

Please report bugs in this module via the RT CPAN bug queue at https://rt.cpan.org/Public/Dist/Display.html?Name=Archive-SevenZip or via mail to archive-sevenzip-Bugs@rt.cpan.org.

AUTHOR

Max Maischein corion@cpan.org

COPYRIGHT (c)

Copyright 2015-2024 by Max Maischein corion@cpan.org.

LICENSE

This module is released under the same terms as Perl itself.