> > Dan Muey wrote: > > > I'm looking at Archive::Zip to extract a single text file > > from a zip > > > file that is ftped from a winders box to a unix box. > > > > > > The zip file conatins only one file, a .txt file, that is > > compressed > > > pretty well. (about 170 MB regular 18MB zipped up) > > > > > > Data.txt is apx 170MB > > > Data.txt is zipped into 'data.zip' which is 18MB > > > File 'data.zip' is ftped from winders to unix server > > > Now heres' where my perl script comes in: > > > > > > Perl/Archive::Zip (or other module???) > > > Extracts data.txt from data.zip and writes it to 'local_data.txt' > > > > > > Any pointers/ideas/experience about how to do that? > > > > Hi Dan. > > > > The program below is the very basic stuff to do what you > > want. It does no error checking except to make sure that the > > zip file opened OK, and just extracts the first file in the > > archive with to a file with a name prefixed with "local_". > > You probably need some exception handling, but how much > > depends on your data. > > > > HTH, > > > > Rob > > > > > > use strict; > > use warnings; > > > > use Archive::Zip; > > > > my $zip = Archive::Zip->new('data.zip') or die "Failed to > > open zip file"; > > > > my ($member) = $zip->members; > > For grins, if I understand this right this would allow me to > extract a couple files based ontheir name: > > my $zip = Archive::Zip->new('data.zip') or die "Failed > to open zip file"; > > my @members = $zip->members; > > for(@members) { > if($_->fileName =~ 'super.txt') { > $_->extractToFileNamed("local_super.txt"); > if($_->fileName =~ 'two.txt') { > $_->extractToFileNamed("local_two.txt"); > } > > Just curiose if my understanding of this obdject is semi correct.
Or would this be right for grabbing a certain file fomr a multi file zip archive: (long variable names are just for descriptive purposes ;p) for($zip->members) { if($_->fileName =~ $filenameinzipiwanttograb) { $_->extractToFileNamed($filenameiwanttocreathere) or die 'error here'; } } > > Thanks > > Dan > > > my $file = $member->fileName; > > > > $member->extractToFileNamed("local_$file"); > > > > > > > > > > -- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]