producer | streamzip [opts] | consumer producer | streamzip [opts] -zipfile=output.zip
The zip container written to "stdout" is, by necessity, written in streaming format. Most programs that read Zip files can cope with a streamed zip file, but if interoperability is important, and your workflow allows you to write the zip file directly to disk you can create a non-streamed zip file using the "zipfile" option.
Default is disabled.
Use the "Stream" option to force the creation of a streamed zip file.
Default is '-'.
If the "zipfile" option is specified, including this option will trigger the creation of a streamed zip file.
Default: Always enabled when writing to "stdout", otherwise disabled.
Valid method names are
* store Store without compression * deflate Use Deflate compression [Deflault] * bzip2 Use Bzip2 compression * lzma Use LZMA compression * xz Use xz compression * zstd Use Zstandard compression
Note that Lzma compress needs "IO::Compress::Lzma" to be installed.
Note that Zstd compress needs "IO::Compress::Zstd" to be installed.
Default is "deflate".
"-0" means no compression and "-9" for maximum compression.
Default is 6
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip >abcd.zip
Check the contents of "abcd,zip" with the standard "unzip" utility
Archive: abcd.zip Length Date Time Name --------- ---------- ----- ---- 22 2021-01-08 19:45 - --------- ------- 22 1 file
Notice how the "Name" is set to "-". That is the default for a few zip utilities whwre the member name is not given.
If you want to explicitly name the file, use the "-member-name" option as follows
$ echo Lorem ipsum dolor sit | perl ./bin/streamzip -member-name latin >abcd.zip $ unzip -l abcd.zip Archive: abcd.zip Length Date Time Name --------- ---------- ----- ---- 22 2021-01-08 19:47 latin --------- ------- 22 1 file
A good examples is when you are serving dynamic content from a Web Server straight into a socket without needing to create a temporary zip file in the filesystsm.
Similarly if your workfow uses a Linux pipelined commands.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.