Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

archive-zip problem

by dorianwinterfeld (Acolyte)
on Mar 28, 2005 at 13:18 UTC ( #442792=perlquestion: print w/replies, xml ) Need Help??
dorianwinterfeld has asked for the wisdom of the Perl Monks concerning the following question:

Here's the problem. I have a list of html files on a Windows box that I want to zip using Archive-Zip. No matter what I do I get an empty zip file. Here's the code, see below. $server_root is the doc root of IIS, d:/online.I use CGI because this must be triggered thru a web interface. What am I doing wrong?
use CGI qw/:standard/; use CGI::Carp (fatalsToBrowser); use Archive::Zip qw( :ERROR_CODES :CONSTANTS ); use lib '..'; require 'globals.plx'; require './config.plx'; print header; open FH,$vsc_log; my @files = <FH>; close FH; print qq(change dir to $server_root),br; chdir "$server_root" or "Can't cd to $server_root: $!"; my $zip = Archive::Zip->new(); foreach my $file (@files){ $file =~ s@d:/online/@@; $file =~ s@/@\\@g; print "add $file",br; $zip->addFile("$file"); } print qq(write $vsc_zip),br; die 'write error' unless $zip->writeToFileNamed( $vsc_zip ) == AZ_OK;
thanks for your help - Dorian

Replies are listed 'Best First'.
Re: archive-zip problem
by fglock (Vicar) on Mar 28, 2005 at 13:34 UTC

    Maybe you have to chomp @files ?

      Brilliant! Thank you, that was it!
Re: archive-zip problem
by derby (Abbot) on Mar 28, 2005 at 13:41 UTC

    You should probably check your open call (and check if $vsc_log is empty)?

    die "Error: $vsc_log does not exist" unless -e $vsc_log; die "Error: $vsc_log is empty" unless -s $vsc_log; open( FH, "< $vsc_log" ) or die "Cannot open $vsc_log: $!";

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://442792]
Approved by RazorbladeBidet
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2018-02-24 00:31 GMT
Find Nodes?
    Voting Booth?
    When it is dark outside I am happiest to see ...

    Results (310 votes). Check out past polls.