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.