Skip to content

miyagawa/Archive-Any-Create

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages