webchalkboard has asked for the wisdom of the Perl Monks concerning the following question:
Hello
I am having problems with Archive:Zip, I am utilising code I found on this site here:
I am trying to create a script which automatically downloads and unzips a file, then parses the contents and loads into a database. I can download the file ok using LWP::Simple and getstore(), but the unzipping bit is proving troublesome.
I get the following error message.
format error: can't find EOCD signature Archive::Zip::Archive::_findEndOfCentralDirectory('Archive::Zip::Arch +ive=HASH(0x8e87c00)','IO::File=GLOB(0x9196204)') called at /usr/lib/p +erl5/site_perl/5.8.3/Archive/Zip.pm line 955 Archive::Zip::Archive::readFromFileHandle('Archive::Zip::Archive=HASH +(0x8e87c00)','IO::File=GLOB(0x9196204)','tooled-up.gz') called at /us +r/lib/perl5/site_perl/5.8.3/Archive/Zip.pm line 929 Archive::Zip::Archive::read('Archive::Zip::Archive=HASH(0x8e87c00)',' +tooled-up.gz') called at zip.pl line 13 Error reading zip file. at zip.pl line 13.
Does anybody have a clue what's wrong? The file works fine, i've ftped it over from the unix server i'm running the script on, to my windows PC and unzipped it manually and the file contains a foler within which is the text file i'm interested in.
If it's any help here is a fragment of my code.
if (is_error(getstore($geturl, $zipdestination))) { print "ERROR - Failed to write CSV to destination<br/> +"; next; } # extract a zip file print "Extracting $zipdestination...\n"; my $zip = Archive::Zip->new(); die 'Error reading zip file.' if $zip->read($zipdestination) ! += AZ_OK; my @members = $zip->members(); foreach my $element (@members) { print "$element\n"; $zip->extractMember($element); } print "Done!\n";
Any ideas?
Thanks, Tom
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Can't find EOCD signature Archive::Zip
by edbewald (Beadle) on Apr 08, 2005 at 16:41 UTC | |
by locked_user woodyuk (Initiate) on Apr 12, 2005 at 11:41 UTC | |
|
Re: Can't find EOCD signature Archive::Zip
by polettix (Vicar) on Apr 08, 2005 at 13:01 UTC | |
|
Re: Can't find EOCD signature Archive::Zip
by knowmad (Monk) on Apr 13, 2006 at 15:07 UTC |