Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

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
[Eily]: looks more like "all my plates are broken and I don't understand why. Also I can't retrieve the broken parts because the elephant in the room is on the way"
[ambrus]: Eily: also webpages aren't displayed on my monitor no matter what I click with the mouse, and there's a blackout right now, could that be a problem?
[robby_dobby]: ambrus: Yes
[hippo]: erix++: "the browser ate my code"
[robby_dobby]: Eily: Now, people are trying to be inventive with crowdsourcing their work, eh? Sure, call on the admins to k-line these sockpuppet accounts!
[robby_dobby]: hippo: I like how you equated your browser to a dog....

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2017-04-25 13:13 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (454 votes). Check out past polls.