Archive-Zip-SimpleZip
view release on metacpan or search on metacpan
lib/Archive/Zip/SimpleUnzip.pm view on Meta::CPAN
sub _mkMember
{
my $self = shift;
my $member = shift;
$self->_readLocalHeader($member);
my %member ;
$member{Inner} = $self->{Inner};
$member{Info} = $member;
#Scalar::Util::weaken $member{Inner}; # for 5.8
return bless \%member, 'Archive::Zip::SimpleUnzip::Member';
}
sub member
{
my $self = shift;
my $name = shift;
lib/Archive/Zip/SimpleUnzip.pm view on Meta::CPAN
die "Member '$name' not in zip file\n"
if ! defined $member ;
$self->_readLocalHeader($member);
# return $self->{Inner};
my $z = IO::Compress::Base::Common::createSelfTiedObject("Archive::Zip::SimpleUnzip::Handle", \$SimpleUnzipError) ;
*$z->{Open} = 1 ;
*$z->{SZ} = $self->{Inner};
Scalar::Util::weaken *$z->{SZ}; # for 5.8
$z;
}
sub extract # to file - return actual path or pass/fail?
{
my $self = shift;
my $name = shift;
my $out = shift;
lib/Archive/Zip/SimpleUnzip.pm view on Meta::CPAN
my $z = IO::Compress::Base::Common::createSelfTiedObject("Archive::Zip::SimpleUnzip::Handle", \$SimpleUnzipError) ;
*$z->{Open} = 1 ;
*$z->{SZ} = $self->{Inner};
my $inner = $self->{Inner};
$inner->reset() if $self->{NeedsReset}; $self->{NeedsReset} ++ ;
Archive::Zip::SimpleUnzip::resetter($self->{Inner}, $self->{Info});
$inner->smartSeek($self->{Info}{DataOffset}, 0, SEEK_SET);
Scalar::Util::weaken *$z->{SZ}; # for 5.8
$z;
}
sub close
{
my $self = shift;
return 1;
}
lib/Archive/Zip/SimpleZip.pm view on Meta::CPAN
$self->_newStream(undef, $got);
# if (1)
# {
my $z = IO::Compress::Base::Common::createSelfTiedObject("Archive::Zip::SimpleZip::Handle", \$SimpleZipError) ;
$self->{Raw} = 1;
*$z->{Open} = 1 ;
*$z->{SZ} = $self;
Scalar::Util::weaken *$z->{SZ}; # for 5.8
return $z;
# }
# else
# {
# my $handle = Symbol::gensym();
# tie *$handle, "Archive::Zip::SimpleZip::Handle", $self, $self->{Zip};
#
# $self->{Raw} = 1;
#
lib/Archive/Zip/SimpleZip.pm view on Meta::CPAN
# my $parent = shift;
# my $zip = shift;
# my $errorRef = shift;
#
# my %obj = (
# Zip => $zip ,
# SZ => $parent,
# Open => 1,
# ) ;
#
# Scalar::Util::weaken $obj{SZ}; # for 5.8
# return bless \%obj, $class;
# }
#
# sub UNTIE
# {
# my $self = shift ;
# }
#
# sub DESTROY
# {
lib/Archive/Zip/StreamedUnzip.pm view on Meta::CPAN
{
my $status = $self->{Inner}->nextStream();
return undef
if $status <= 0;
}
my %member ;
$member{Inner} = $self->{Inner};
# $member{Member} = $member;
$member{Info} = $self->{Inner}->getHeaderInfo() ;
#Scalar::Util::weaken $member{Inner}; # for 5.8
return bless \%member, 'Archive::Zip::StreamedUnzip::Member';
}
sub member
{
my $self = shift;
my $name = shift;
return _setError(undef, undef, "Member '$name' not in zip")
lib/Archive/Zip/StreamedUnzip.pm view on Meta::CPAN
# return return $self->{Inner} ;
# my $handle = Symbol::gensym();
# tie *$handle, "Archive::Zip::StreamedUnzip::Handle", $self->{SZ}{UnZip};
# return $handle;
my $z = IO::Compress::Base::Common::createSelfTiedObject("Archive::Zip::StreamedUnzip::Handle", \$StreamedUnzipError) ;
*$z->{Open} = 1 ;
*$z->{SZ} = $self->{Inner};
Scalar::Util::weaken *$z->{SZ}; # for 5.8
$z;
}
sub close
{
my $self = shift;
return 1;
}
( run in 1.182 second using v1.01-cache-2.11-cpan-65fba6d93b7 )