Server IP : 51.89.169.208 / Your IP : 3.141.164.124 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/usr/share/doc/perl-Archive-Zip/examples/ |
Upload File : |
#!/usr/bin/perl -w # usage: valid zipname.zip # exits with non-zero status if invalid zip # status = 1: invalid arguments # status = 2: generic error somewhere # status = 3: format error # status = 4: IO error use strict; use Archive::Zip qw(:ERROR_CODES); use IO::Handle; use File::Spec; # instead of stack dump: Archive::Zip::setErrorHandler(sub { warn shift() }); my $nullFileName = File::Spec->devnull(); my $zip = Archive::Zip->new(); my $zipName = shift(@ARGV) || exit 1; eval { my $status = $zip->read($zipName); exit $status if $status != AZ_OK; }; if ($@) { warn 'error reading zip:', $@, "\n"; exit 2 } eval { foreach my $member ($zip->members) { my $fh = IO::File->new(); $fh->open(">$nullFileName") || die "can't open $nullFileName\: $!\n"; my $status = $member->extractToFileHandle($fh); if ($status != AZ_OK) { warn "Extracting ", $member->fileName(), " from $zipName failed\n"; exit $status; } } }