I've recreated a test program which shows me error messages on stdout and unzipping more than once really seems to not work for me. I have ActiveState Perl 5.10.1.1007 32 Bit on Win Server 2003 R2 SP2 and Archive::Zip has Version 1.30.

use strict; use Archive::Zip qw(:CONSTANTS :ERROR_CODES); use File::Temp; my $tmp = $ENV{'TEMP'}.'/zip/extractMember'; my $zip = Archive::Zip->new(); if ($zip->read('test.zip') != AZ_OK) { die 'Einlesen klappt nicht.'; } foreach my $member ($zip->members()) { print($member->fileName()."\n"); $member->extractToFileNamed(File::Temp::tempnam($tmp, 'XXXXXXXXXXXXX +XXXXXXXXXXXXXXXXXXX')); $member->extractToFileNamed(File::Temp::tempnam($tmp, 'XXXXXXXXXXXXX +XXXXXXXXXXXXXXXXXXX')); }

Output:

Anlagen.zip
format error: CRC or size mismatch while skipping data descriptor
at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 189
Archive::Zip::ZipFileMember::_skipLocalFileHeader('Archive::Zip::ZipFileMember=HASH(0x1c754dc)') called at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 395
Archive::Zip::ZipFileMember::rewindData('Archive::Zip::ZipFileMember=HASH(0x1c754dc)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 990
Archive::Zip::Member::extractToFileHandle('Archive::Zip::ZipFileMember=HASH(0x1c754dc)', 'IO::File=GLOB(0x1c7b924)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 488
Archive::Zip::Member::extractToFileNamed('Archive::Zip::ZipFileMember=HASH(0x1c754dc)', 'D:\Benutzer\TSCHOE~1\LOKALE~1\Temp\zip\extractMember\DKbzQX0R...') called at D:/Benutzer/tschoening/Eigene Dateien/Eclipse/Perltests/StandAlone/zip/extractMember.pl line 18
Anlagen.zip.pk7
format error: CRC or size mismatch while skipping data descriptor
at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 189
Archive::Zip::ZipFileMember::_skipLocalFileHeader('Archive::Zip::ZipFileMember=HASH(0x1c7586c)') called at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 395
Archive::Zip::ZipFileMember::rewindData('Archive::Zip::ZipFileMember=HASH(0x1c7586c)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 990
Archive::Zip::Member::extractToFileHandle('Archive::Zip::ZipFileMember=HASH(0x1c7586c)', 'IO::File=GLOB(0x1c7b934)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 488
Archive::Zip::Member::extractToFileNamed('Archive::Zip::ZipFileMember=HASH(0x1c7586c)', 'D:\Benutzer\TSCHOE~1\LOKALE~1\Temp\zip\extractMember\hrEJi2dV...') called at D:/Benutzer/tschoening/Eigene Dateien/Eclipse/Perltests/StandAlone/zip/extractMember.pl line 18
Testeinreichung AM-SoFT.pdf.p7s
format error: CRC or size mismatch while skipping data descriptor
at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 189
Archive::Zip::ZipFileMember::_skipLocalFileHeader('Archive::Zip::ZipFileMember=HASH(0x1c75a3c)') called at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 395
Archive::Zip::ZipFileMember::rewindData('Archive::Zip::ZipFileMember=HASH(0x1c75a3c)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 990
Archive::Zip::Member::extractToFileHandle('Archive::Zip::ZipFileMember=HASH(0x1c75a3c)', 'IO::File=GLOB(0x1c7bc04)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 488
Archive::Zip::Member::extractToFileNamed('Archive::Zip::ZipFileMember=HASH(0x1c75a3c)', 'D:\Benutzer\TSCHOE~1\LOKALE~1\Temp\zip\extractMember\za1J__f2...') called at D:/Benutzer/tschoening/Eigene Dateien/Eclipse/Perltests/StandAlone/zip/extractMember.pl line 18
Testeinreichung AM-SoFT.pdf
format error: CRC or size mismatch while skipping data descriptor
at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 189
Archive::Zip::ZipFileMember::_skipLocalFileHeader('Archive::Zip::ZipFileMember=HASH(0x1c75c0c)') called at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 395
Archive::Zip::ZipFileMember::rewindData('Archive::Zip::ZipFileMember=HASH(0x1c75c0c)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 990
Archive::Zip::Member::extractToFileHandle('Archive::Zip::ZipFileMember=HASH(0x1c75c0c)', 'IO::File=GLOB(0x1c7b704)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 488
Archive::Zip::Member::extractToFileNamed('Archive::Zip::ZipFileMember=HASH(0x1c75c0c)', 'D:\Benutzer\TSCHOE~1\LOKALE~1\Temp\zip\extractMember\tqEEW0aI...') called at D:/Benutzer/tschoening/Eigene Dateien/Eclipse/Perltests/StandAlone/zip/extractMember.pl line 18
Testeinreichung AM-SoFT_signed.pdf
IO error: reading header signature :
at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 279
Archive::Zip::ZipFileMember::_readDataDescriptor('Archive::Zip::ZipFileMember=HASH(0x1887acc)') called at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 186
Archive::Zip::ZipFileMember::_skipLocalFileHeader('Archive::Zip::ZipFileMember=HASH(0x1887acc)') called at C:/Programme/Perl/lib/Archive/Zip/ZipFileMember.pm line 395
Archive::Zip::ZipFileMember::rewindData('Archive::Zip::ZipFileMember=HASH(0x1887acc)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 990
Archive::Zip::Member::extractToFileHandle('Archive::Zip::ZipFileMember=HASH(0x1887acc)', 'IO::File=GLOB(0x1c7baa4)') called at C:/Programme/Perl/lib/Archive/Zip/Member.pm line 488
Archive::Zip::Member::extractToFileNamed('Archive::Zip::ZipFileMember=HASH(0x1887acc)', 'D:\Benutzer\TSCHOE~1\LOKALE~1\Temp\zip\extractMember\Nojn_u7h...') called at D:/Benutzer/tschoening/Eigene Dateien/Eclipse/Perltests/StandAlone/zip/extractMember.pl line 18

In reply to Re: unable to extract same file twice using Archive::Zip by Pickwick
in thread unable to extract same file twice using Archive::Zip by Pickwick

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.