Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.133.79.73
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : Zip.pm
package Archive::Peek::Zip;
use Moose;
use Archive::Zip qw(AZ_OK);
use Archive::Zip::MemberRead;
extends 'Archive::Peek';

sub zip {
    my $self     = shift;
    my $filename = $self->filename;
    my $zip      = Archive::Zip->new();
    unless ( $zip->read( $filename->stringify ) == AZ_OK ) {
        confess("Error reading $filename");
    }
    return $zip;
}

sub files {
    my $self = shift;
    my $zip  = $self->zip;

    my @members = $zip->members();
    my @files = sort map { $_->fileName } grep { !$_->isDirectory } @members;
    return @files;
}

sub file {
    my ( $self, $filename ) = @_;
    my $zip = $self->zip;

    my $fh = Archive::Zip::MemberRead->new( $zip, $filename );
    my $file = '';
    while (1) {
        my $read = $fh->read( my $buffer, 1024 );
        die "FATAL ERROR reading my secrets !\n" if ( !defined($read) );
        last if ( !$read );
        $file .= $buffer;
    }
    return $file;
}

1;
© 2025 GrazzMean