Question: I'm doing some testing to ensure that the all in one zip file that i created using a script file will produce the same output as the content of a few zip files that i must manually click and create via web interface. Therefore the zip will have different folder structure. 

Of course i can manually extracted them out and using my powerful eyeball technique to scan them or even lazier i can write a script to do that, but before i invest more time and get accused by my boss for company time robbery, i'm asking if there's a better way to do this?

I'm using perl LAMP stack by the way.
thanks.

Answer: 
You can use perl's [Archive::ZIP](http://search.cpan.org/~adamk/Archive-Zip-1.26/lib/Archive/Zip.pm) or Python's [zipfile](http://docs.python.org/library/zipfile.html) to extract the filenames, sizes and CRC checksums of the files in the archives. Create a file which contains the results sorted by file name (ignore the path).

For your smaller ZIPs, merge the results of the script (`cat list1 list2 list3 | sort`).

Now, you can use `diff` to compare the results.
Taking a cue from Carra's answer...if A.zip is your single big archive and B.zip is the archive generated through the web then use the following algorithm

1. Extract all files from A.zip and recursively (w.r.t folders) compute the checksum of the files present in the folder (using `cksum`, `md5sum` etc) where the contents were extracted and save this information after sorting it (pipe it through `sort`) to a file (say A.txt)
2. Do the same for B.zip and generate B.txt
3. Compare A.txt with B.txt they should be exactly the same.

OR

Use `unzip -l` to get file/directory lists for both the (zip) archives and then flatten the hierarchy of the user generated zip file and compare with the contents of your script generated zip file using some thing like `diff`. By flattening of hierarchy I mean you may need to do some kind of pre-precessing on one or both lists before you can do a meaningful comparison with `diff`.