in reply to Log's and MD5 Hashes -- FINALLY DONE
in thread Log's and MD5 Hashes

Glad you posted this before I replied to the other, you've fixed this up well. There are still some warts, though.

  1. Don't use $a and $b for scratch variables; they are sacred to sort.
  2. Lock your files or use a locked semaphore file. You have races if more than one instance of this runs (e.g. if it is fired by suspicious tcp connections)
  3. When you die, put $! in die's argument list (without any "\n"). That will give you diagnostics you might not get otherwise.
  4. grep can clean up your last while loop, and maybe help the logic, too.
  5. use strict; use warnings;
  6. Take a look at the &Digest::MD5::addfile(\*HANDLE) method
  7. It will take O(N2) to compare all those digests the way you do it. How about making a hash with the digest as key, and checking for existance in the hash?
You can turn this into a thing of beauty. Good luck, and have fun.

After Compline,
Zaxo