NAME¶
Archive::Any::Create - Abstract API to create archives (tar.gz and zip)
SYNOPSIS¶
use Archive::Any::Create;
my $archive = Archive::Any::Create->new;
$archive->container('foo'); # top-level directory
$archive->add_file('bar.txt', $data); # foo/bar.txt
$archive->add_file('bar/baz.txt', $data); # foo/bar/baz.txt
$archive->write_file('foo.tar.gz');
$archive->write_file('foo.zip');
$archive->write_filehandle(\*STDOUT, 'tar.gz');
DESCRIPTION¶
Archive::Any::Create is a wrapper module to create tar/tar.gz/zip files with a
single easy-to-use API.
METHODS¶
- new
- Create new Archive::Any::Create object. No parameters.
- container($dir)
- Specify a top-level directory (or folder) to contain multiple files. Not
necessary but recommended to create a good-manner archive file.
- add_file($file, $data)
- Add a file that contains $data as its content.
$file can be a file in the nested
subdirectory.
- write_file($filename)
- Write an archive file named $filename. This method
is DWIMmy, in the sense that it automatically dispatches archiving module
based on its filename. So,
"$archive->write_file("foo.tar.gz")"
will create a tarball and
"$archive->write_file("foo.zip")"
will create a zip file with the same contents.
- write_filehandle($fh, $format)
- Write an archive data stream into filehandle.
$format is either, tar, tar.gz or
zip.
AUTHOR¶
Tatsuhiko Miyagawa <miyagawa@bulknews.net>
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
SEE ALSO¶
Archive::Any, Archive::Tar, Archive::Zip