$ unzip k.zip
Archive: k.zip
warning [k.zip]: 186 extra bytes at beginning or within zipfile
(attempting to process anyway)
inflating: from_ram.t
####
---------- 1 user user 7 2010-03-29 08:44 from_ram.t
####
$ file -ik k.zip
k.zip: application/zip; charset=binary
####
#!/usr/bin/perl
use strict;
use warnings;
use IO::Compress::Zip qw(zip $ZipError :constants) ;
use diagnostics;
my $zip;
zip './a.txt' => \$zip,
name => 'from_filename.t',
AutoClose => 1,
BinModeIn => 1
or die "zip failed: $ZipError\n";
my $string = ss();
zip \$string => \$zip,
name => 'from_ram.t',
ExtAttr => '0666',
Append => 1 or die "zip failed: $ZipError\n";
open my $fh, '>','./k.zip' or die "$!";
print $fh $zip;
close($fh);
sub ss {
return <