sub CollectZip { my ($location) = shift; my @zipListData = `unzip -l \'$location\'`; chomp @zipListData; ### Get rid of the first 3 rows and last 2 rows shift(@zipListData); shift(@zipListData); shift(@zipListData); pop(@zipListData); pop(@zipListData); my %filesData; foreach my $zipData (@zipListData) { $zipData =~ tr/ //s; my @zipData = split(/ /, $zipData); my ($zipFilesize) = $zipData[1]; my ($zipFilename) = $zipData[4]; $filesData{$zipFilename} = $zipFilesize; } print Dumper \%filesData; return %filesData; }