NAME

Archive::StringToZip - Transforms a string to a zip

SYNOPSIS

A simple wrapper around Archive::Zip for transforming a string to a compressed zip returned as a filehandle. Inherits all of Archive::Zip's methods.

This module operates in memory and avoids the use of temporary files. If you want to send the contents of a zip to standard output, for example, you might find this module useful.

USAGE

OO-style:
use Archive::StringToZip;

my $stz = Archive::StringToZip->new();
my $zip = $stz->zipString($string,$filename) 
           or die "Zipping string failed";

or

Procedural-style
use Archive::StringToZip qw(zipString);

my $zip = zipString($string,$filename) 
           or die "Zipping string failed";

or even

Classy-style
use Archive::StringToZip;

my $zip = Archive::StringToZip::zipString($string,$filename) 
           or die "Zipping string failed";
Then return a zip file to a browser download
print qq~Content-Type: application/x-zip\nContent-Disposition: attachment; Encoding: base64; filename="${filename}.zip"\n\n~;
print $zip;

METHODS

new

Archive::StringToZip->new();

Constructs a new string zipping object

zipString

Archive::StringToZip->new($string,$filename);

First argument is compulsory; second is optional. The default filename is "file.txt" if the second argument is undefined.

Converts a string ($string) into a file ($filename) in a compressed zip file format which is returned as a filehandle.

Returns a false value on failure.

Sets binmode STDOUT by default to help prevent Win32 systems being confused about your output.

DEPENDENCIES

Archive::Zip and IO::Scalar.

MOTIVATION

We had users wanting to carry bulk exports of data from a database representing their online store's order history. After slurping the data out and converting it, the resulting CSV was pretty big, so compression was the way forward, et voila! Archive::StringToZip was born.

AUTHORS

Robbie Bow and Tom Hukins sometime in spring 2006.

BUGS

Please report any bugs or feature requests to

bug-archive-stringtozip at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Archive-StringToZip. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.