Codebase list libarchive-any-create-perl / HEAD
HEAD

Tree @HEAD (Download .tar.gz)

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