#!/usr/bin/perl -w use strict; use warnings; use IO::Uncompress::Unzip qw(unzip $UnzipError); my $zipfile = "/tmp/test.zip"; my $u = new IO::Uncompress::Unzip $zipfile or die "Cannot open $zipfile: $UnzipError"; my $status; for ($status = 1; ! $u->eof(); $status = $u->nextStream()) { my $filename = $u->getHeaderInfo()->{Name}; print "$filename\n" ; } die "Error processing $zipfile: $!\n" if $status < 0 ;