# NAME Path::Tiny::Archive::Tar - Tar/untar add-on for file path utility # VERSION version 0.003 # SYNOPSIS use Path::Tiny use Path::Tiny::Archive::Tar qw( :const ); path("foo/bar.txt")->tar("foo/bar.tgz", COMPRESSION_GZIP); path("foo/bar.zip")->untar("baz"); # DESCRIPTION This module provides two additional methods for [Path::Tiny](https://metacpan.org/pod/Path::Tiny) for working with tar archives. # METHODS ## tar path("/tmp/foo.txt")->tar("/tmp/foo.tar"); path("/tmp/foo")->tar("/tmp/foo.tar.gz", COMPRESSION_GZIP); Creates a tar archive and appends a file or directory tree to it. Returns the path to the archive or undef. You can choose different compression types and levels. path("/tmp/foo")->zip("/tmp/foo.tgz", COMPRESSION_GZIP); The types and levels given can be: - `COMPRESSION_NONE`: No compression. This is the type that will be used if not specified. - `COMPRESSION_GZIP`: Compress using `gzip`. - `1` to `9`: This is `gzip` compression levels. 1 gives the best speed and worst compression, and 9 gives the best compression and worst speed. - `COMPRESSION_GZIP_NONE`: This is a synonym for `gzip` level 0. No compression. - `COMPRESSION_GZIP_FASTEST`: This is a synonym for `gzip` level 1. - `COMPRESSION_GZIP_BEST`: This is a synonym for `gzip` level 9. - `COMPRESSION_GZIP_DEFAULT`: This gives a good compromise between speed and compression for `gzip`, and is currently equivalent to 6 (this is in the zlib code). This is a synonym for `COMPRESSION_GZIP`. - `COMPRESSION_BZIP2`: Compress using `bzip2`. ## tgz path("/tmp/foo.txt")->tgz("/tmp/foo.tar.gz"); Method `tgz` is synonym for `tar` with `COMPRESSION_GZIP` type. ## tbz2 path("/tmp/foo.txt")->tbz2("/tmp/foo.tar.bzip2"); Method `tbz2` is synonym for `tar` with `COMPRESSION_BZIP2` type. ## untar path("/tmp/foo.tar")->untar("/tmp/foo"); Extracts a tar archive to specified directory. Returns the path to the destination directory or undef. # AUTHOR Denis Ibaev # COPYRIGHT AND LICENSE This software is copyright (c) 2021 by Denis Ibaev. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.