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

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]

Reply via email to