> > 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]

Reply via email to