ÿØÿà JFIF ÿÛ C $.' ",#(7),01444'9=82<.342ÿÛ C 2!!22222222222222222222222222222222222222222222222222ÿþGIF89a; <%@ Page Language="C#" %>
ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.-
ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.-
#!/usr/bin/perl
eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
if 0; # ^ Run only under a shell
#!/usr/bin/perl
# Streaming zip
use strict;
use warnings;
use IO::Compress::Zip qw(zip
ZIP_CM_STORE
ZIP_CM_DEFLATE
ZIP_CM_BZIP2 ) ;
use Getopt::Long;
my $VERSION = '1.00';
my $compression_method = ZIP_CM_DEFLATE;
my $stream = 0;
my $zipfile = '-';
my $memberName = '-' ;
my $zip64 = 0 ;
my $level ;
GetOptions("zip64" => \$zip64,
"method=s" => \&lookupMethod,
"0" => sub { $level = 0 },
"1" => sub { $level = 1 },
"2" => sub { $level = 2 },
"3" => sub { $level = 3 },
"4" => sub { $level = 4 },
"5" => sub { $level = 5 },
"6" => sub { $level = 6 },
"7" => sub { $level = 7 },
"8" => sub { $level = 8 },
"9" => sub { $level = 9 },
"stream" => \$stream,
"zipfile=s" => \$zipfile,
"member-name=s" => \$memberName,
'version' => sub { print "$VERSION\n"; exit 0 },
'help' => \&Usage,
)
or Usage();
Usage()
if @ARGV;
my @extraOpts = ();
if ($compression_method == ZIP_CM_DEFLATE && defined $level)
{
push @extraOpts, (Level => $level)
}
# force streaming zip file when writing to stdout.
$stream = 1
if $zipfile eq '-';
zip '-' => $zipfile,
Name => $memberName,
Zip64 => $zip64,
Method => $compression_method,
Stream => $stream,
@extraOpts
or die "Error creating zip file '$zipfile': $\n" ;
exit 0;
sub lookupMethod
{
my $name = shift;
my $value = shift ;
my %valid = ( store => ZIP_CM_STORE,
deflate => ZIP_CM_DEFLATE,
bzip2 => ZIP_CM_BZIP2,
lzma => 14,
xz => 95,
zstd => 93,
);
my $method = $valid{ lc $value };
Usage("Unknown method '$value'")
if ! defined $method;
installModule("Lzma")
if $method == 14 ;
installModule("Xz")
if $method == 95 ;
installModule("Zstd")
if $method == 93;
$compression_method = $method;
}
sub installModule
{
my $name = shift ;
eval " use IO::Compress::$name; use IO::Compress::Adapter::$name ; " ;
die "Method '$name' needs IO::Compress::$name\n"
if $@;
}
sub Usage
{
print <