my $ziptest = Archive::Zip->new($bfiledst); if (!defined($ziptest)) { # big error; } my @members = $ziptest->members; #check to make sure it has what you expect #then check individual files: for (@members) { if (! defined($ziptest->contents($_)) # another error. } }