Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to do what I thought would be a very simple task: Create a zipfile with the contents of an entire directory, passed in to a function. I wrote (with very minor changes from the real code):
I tried to run this as "my $filename = create_zipfile("/path/to/directory");", and it fails with IO error: Can't open /path/to/directory/0BE30138-93B4-81EE-93CD-DC592DB8B6F0.zip for write : No such file or directory. Which--I know there's no such file or directory, I'm asking it to be created.sub create_zipfile { my ($path) = @_; my $UUID = Data::GUID->new->as_string(); my $zipfile_name = $UUID . ".zip"; my $full_path = $path . "/" . $zipfile_name; my $zip = Archive::Zip->new(); $zip->addTree($path, undef); if ( ! $zip->writeToFileNamed($full_path) == AZ_OK ) { print "Error writing zipfile: $!\n"; } return $full_path; }
In a previous version of this--and I don't remember what's different, and can't replicate it--it did create a zipfile, but it was empty.
I'd be grateful for a pointer; this would seem to be the main way one would use this module, but I can't find discussion of how to do this! Thanks.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Archive::Zip: save entire directory?
by choroba (Cardinal) on Dec 05, 2023 at 22:23 UTC | |
by Anonymous Monk on Dec 05, 2023 at 22:37 UTC | |
by Bod (Parson) on Dec 05, 2023 at 23:43 UTC | |
|
Re: Archive::Zip: save entire directory?
by stevieb (Canon) on Dec 05, 2023 at 22:19 UTC |