# NAME Path::Tiny::Archive::Zip - Zip/unzip add-on for file path utility # VERSION version 0.004 # SYNOPSIS use Path::Tiny use Path::Tiny::Archive::Zip qw( :const ); path("foo/bar.txt")->zip("foo/bar.zip", COMPRESSION_BEST); path("foo/bar.zip")->unzip("baz"); # DESCRIPTION This module provides two additional methods for [Path::Tiny](https://metacpan.org/pod/Path::Tiny) for working with zip archives. # METHODS ## zip path("/tmp/foo.txt")->zip("/tmp/foo.zip"); path("/tmp/foo")->zip("/tmp/foo.zip"); Creates a zip archive and appends a file or directory tree to it. Returns the path to the zip archive or undef. You can choose different compression levels. path("/tmp/foo")->zip("/tmp/foo.zip", COMPRESSION_FASTEST); The levels given can be: - `0` or `COMPRESSION_NONE`: No compression. - `1` to `9`: 1 gives the best speed and worst compression, and 9 gives the best compression and worst speed. - `COMPRESSION_FASTEST`: This is a synonym for level 1. - `COMPRESSION_BEST`: This is a synonym for level 9. - `COMPRESSION_DEFAULT`: This gives a good compromise between speed and compression, and is currently equivalent to 6 (this is in the zlib code). This is the level that will be used if not specified. ## unzip path("/tmp/foo.zip")->unzip("/tmp/foo"); Extracts a zip 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.