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
In reply to Can't find EOCD signature Archive::Zip by webchalkboard
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |